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个数组的内容并查看差异(检查是否没有空格或任何可能导致出错的内容)