PHP的array_diff是比较两个或以上数组的差集,从字面意思上来看,只要两个数组内的元素不一样,就比较出来,其实不然,我们先看几个DEMO:
下面这段代码是不是以为输出4,其实输出的是空数组:
$ad = array_diff(
[1, 2, 3],
[1, 2, 3, 4]
);
print_r($ad);
//打印的结果
Array ( )
再看另外一段代码,下面这段代码是不是以为输出4,5,其实输出的是5:
$ad = array_diff(
[1, 2, 3, 5],
[1, 2, 3, 4]
);
print_r($ad);
//打印的结果
Array ( [3] => 5 )
总结: array_diff 是以第一个数组为基准,来比较。当第一个数组中有元素没有出现在第二个数组中就挑选出来。
RoveCoder版权所有,转载请注明