php 求两个数组的差集应该注意的事情

对于 phper 来说 array_diff 这个函数应该知道它的用途,获取两个数组的差集,我理解中的差集是这样的

但是执行下代码会发现结果并不是

<?php
$a = [1,2,3,4,5];
$b = [3,4,5,6,7];
$c = array_diff($a,$b);
print_r($c); //输出 Array ( [0] => 1 [1] => 2 )

我开始以为应该是会输出数组  [1,2,6,7] 才对的但是实际结果却不是,于是去翻下文档:

如图人家说的已经很清楚啦,是将后面的所有数组与 array1 作比较返回 在array1 中但是不在 其他 array 里的值。如果我们一定要实现图一那种求差集的方法的话就要这样做

<?php
$a = [1,2,3,4,5];
$b = [3,4,5,6,7];
$c = array_diff($a,$b);
$d = array_diff($b,$a);
$e = array_merge($c,$d);
print_r($e); // 输出 Array ( [0] => 1 [1] => 2 [2] => 6 [3] => 7 )

 

转载于:https://www.cnblogs.com/itsuibi/p/10816056.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值