0

我想得到两个数组不同的数组,但array_diff()不能按我的意愿工作。

我有这样的事情:

Array ( [0] => dog [1] => cat [2] => cow [3] => bird [4] => wolf )
Array ( [0] => dog [1] => cat [2] => cow )

我想得到这个:

Array ( [0] => bird [1] => wolf )

有任何想法吗?

4

4 回答 4

4

试试这个代码:

$array1 = array ( 'dog','cat','cow','bird','wolf' );
$array2 = array ( 'dog','cat','cow' );

$diff = array_values(array_diff($array1,$array2));

print_r($diff);
于 2012-08-08T00:49:55.600 回答
0

您可以避免内置功能

$a1 = array ('dog','cat','cow','bird','wolf' );
$a2 = array ('dog','cat','cow' );

foreach($a1 as $key=>$value){
    if(!in_array($value, $a2))
        $s3[] = $value;
}

如果您在两个输入数组中都需要反之亦然差异,则添加以下内容:

foreach($a2 as $key=>$value){
    if(!in_array($value, $a1))
        $s3[] = $value;
}
于 2012-08-08T06:09:46.537 回答
0
array_values(array_diff($array1, $array2));
于 2012-08-08T00:50:07.183 回答
0

问我读了你的例子,你有两个问题: - 数组可以是相同的键相同的值,所以你只想找到参考键和参考值?- 仅排列相同的键,但您只想找到参考值?

于 2012-08-08T03:12:45.180 回答