我正在尝试这样使用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 ( )
知道我做错了什么?为什么0023199
未返回?
array_diff()中的参数顺序很重要
返回一个包含来自 array1 的所有条目的数组 存在于其他任何阵列
中
try;
$diff = array_merge(array_diff($list_1, $list_2), array_diff($list_2, $list_1));
print "DIFF: " . count($diff) ."<br>";
print_r($diff);
来自文档:
返回一个包含Array1的所有条目的数组 存在于其他任何阵列中。
如果您只想检查它们是否相同,则可以使用$list1 == $list_2
根据文档,第二个数组的值是从第一个数组中减去的。或者,要换句话说,您从第一个数组开始,然后删除出现在第二个数组中的所有值。这将正确产生您在上方看到的空数组
您可能想与十字路口一起玩,这可能会帮助您获得想要的东西。