首页 > 后端 > 正文

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版权所有,转载请注明

猜你喜欢
picture loss