Php 两个数组中的差异

Php 两个数组中的差异,php,arrays,diff,Php,Arrays,Diff,我想得到两个数组之差的数组,但是array\u diff()不能按我所希望的方式工作 我有这样的想法: Array ( [0] => dog [1] => cat [2] => cow [3] => bird [4] => wolf ) Array ( [0] => dog [1] => cat [2] => cow ) 我想得到这个: Array ( [0] => bird [1] => wolf ) 有什么想法吗?试试下面的代码

我想得到两个数组之差的数组,但是
array\u diff()
不能按我所希望的方式工作

我有这样的想法:

Array ( [0] => dog [1] => cat [2] => cow [3] => bird [4] => wolf )
Array ( [0] => dog [1] => cat [2] => cow )
我想得到这个:

Array ( [0] => bird [1] => wolf )
有什么想法吗?

试试下面的代码:

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

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

print_r($diff);
请尝试以下代码:

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

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

print_r($diff);

问我读了你的例子有两个问题让你大吃一惊: -数组可以是同一个键和同一个值,那么您想只查找差异键和差异值吗?
-仅数组同一个键,但您只想查找差异值?

问我读了您的示例有两个问题让您大吃一惊: -数组可以是同一个键和同一个值,那么您想只查找差异键和差异值吗? -只对同一个键进行数组,但只想查找差异值?

您可以避免使用内置函数

如果在两个输入数组中都需要versa diff,则添加以下内容:

foreach($a2 as $key=>$value){
    if(!in_array($value, $a1))
        $s3[] = $value;
}
您可以避免使用内置函数

如果在两个输入数组中都需要versa diff,则添加以下内容:

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

array_diff()
的输出数组包装在
array_values()
中,将键重新编号为0。将
array_diff()
的输出数组包装在
array_values()
中,将键重新编号为0。不幸的是,它不起作用,我已经尝试过了。我得到:数组([0]=>狗[1]=>猫[2]=>牛[3]=>鸟[4]=>狼)不幸的是它不起作用,我已经试过了。我得到:数组([0]=>狗[1]=>猫[2]=>牛[3]=>鸟[4]=>狼)不幸的是它不起作用,我已经试过了。我发现:数组([0]=>狗[1]=>猫[2]=>牛[3]=>鸟[4]=>狼)很有趣,它适用于您的示例,但不适用于我的数组。也许是钥匙出了问题-不,print_r($diff)给出了
code
数组([0]=>jaja[1]=>mleko[2]=>voda[3]=>krompir[4]=>meso)
code
我真的帮不了你,因为我不知道数组$stack的内容,试着打印这3个数组的内容,看看有什么不同(检查是否没有空格或任何可能导致出错的内容)不幸的是,它不起作用,我已经尝试过了。我得到了:数组([0]=>狗[1]=>猫[2]=>牛[3]=>鸟[4]=>狼)有趣的是,它适用于您的示例,但不适用于我的数组。可能是关键造成了问题?:-不,print\r($diff)给出了
code
Array([0]=>jajaja[1]=>mleko[2]=>voda[3]=>krompir[4]=>meso)
code
我无法真正帮助您,因为我不知道数组$stack的内容,请尝试打印3个数组的内容并查看差异(检查是否没有空格或任何可能导致出错的内容)