我试图像这样使用array_diff。这是我的两个数组输出:
列出1输出
Array ([0] => 0022806 )
列出2输出
Array ([0] => 0022806 [1] => 0023199 )
PHP
$diff = array_diff($list_1, $list_2);
print "DIFF: " . count($diff) ."<br>";
print_r($diff);
输出是:
DIFF: 0
Array ( )
知道我做错了吗?
答案 0 :(得分:15)
array_diff()中参数的顺序很重要
返回一个数组,其中包含来自 array1 的所有条目 存在于任何其他数组中
答案 1 :(得分:7)
试;
$diff = array_merge(array_diff($list_1, $list_2), array_diff($list_2, $list_1));
print "DIFF: " . count($diff) ."<br>";
print_r($diff);
答案 2 :(得分:1)
答案 3 :(得分:1)
根据documentation,从第一个数组中减去第二个数组的值。或者,换句话说,从第一个数组开始,然后删除第二个数组中出现的所有值。这将正确产生一个你在上面看到的空数组
您可能想要使用intersection,这可能会帮助您获得所需内容。