【发布时间】:2012-01-20 14:22:08
【问题描述】:
我有一个可能很愚蠢的问题?
我有三个数组。我想从第一个和第三个数组中获取不同的值。我创建了以下代码,但是返回的值是错误的。
function ec($str){
echo $str.'<br>';
}
$arr1 = array( array(
'letter' => 'A',
'number' => '1'
),
array(
'letter' => 'B',
'number' => '2'
),
array(
'letter' => 'C',
'number' => '3'
)
);
$arr2 = array( array(
'letter' => 'A',
'number' => '1'
),
array(
'letter' => 'B',
'number' => '2'
)
);
$arr3 = array( array(
'letter' => 'D',
'number' => '4'
),
array(
'letter' => 'E',
'number' => '5'
)
);
$mergeArr = array_merge($arr1,$arr3);
foreach ($mergeArr as $kMerge => $vMerge){
foreach ($arr2 as $val2){
if($val2['letter'] != $mergeArr[$kMerge]['letter']){
ec($mergeArr[$kMerge]['letter']);
}
}
}
这段代码的结果是:
A
B
C
C
D
D
E
E
我想要的结果:
C
D
E
提前致谢。
【问题讨论】:
-
感叹号
!不能代替句号. -
如果我没看错,您想从 3 个数组中获取所有唯一值,消除任何重复项?
-
那么,您想要数组 1 和 3 中所有不在数组 2 中的值吗?
-
不,我想合并第一个和第三个数组,这个结果将与第二个数组进行比较。
-
klennepette 是的。我想从 1 和 3 中获取所有不在 arr2 中的值。
标签: php arrays multidimensional-array compare