用户登录

这个视频我们来看一下,怎么样找出数组的并集,交集,还有差集。

现在,这里有两个数组 ... a 和 b .... a 数组里面有两个项目 苹果 和 桔子, b 数组里面也有两个项目, 苹果和香蕉。 要找出这两个数组的并集,我们可以先把这两个数组全并到一块儿,然后再去掉重复的项目 ...

合并数组,可以使用 array_merge ... 在这个函数里面,指定一下要合并的两个数组 ... 数组 a 还有 数组 b

array_merge($a, $b)

保存 ... 现在得到的结果就是两个数组合并到一块的结果 ... 数组 a 里面的苹果,桔子,还有数组 b 里面的苹果香蕉...

合并之后,有两个重复的项目,就是 苹果 ... 我们可以再去使用 array_unique 函数去处理一下这个结果 ... 它可以去掉重复的项目 ...

array_unique(array_merge($a, $b))

这次得到的结果就是,苹果,桔子,还有香蕉 ... 也就是 ab 两个数组的并集。

交集

现在,我们要去得到这两个数组的交集,也就是两个数组共有的项目 ... 要用到的是 array_intersect 函数 ... 在这个函数里,指定一下要求交集的数组 ..

array_intersect($a, $b);

保存 ... 得到的结果里面,只会包含 苹果 这个项目 .. 因为它是这两个数组共用的一个项目 ...

差集

要找出两个数组里面不一样的项目,可以使用 array_diff ... 同样在这个函数里面指定两个数组 ... 注意这个顺序是很关键的 ... 如果你要找出数组 a 里面有的项目,在数组 b 里面没有的 ... 要把数组 a 放到前面,然后是数组 b 。

有点像是用数组 a 减去数组 b 。

array_diff($a, $b)

这里得到的结果就是 桔子 ... 因为数组 b 里面不包含 桔子 这个项目 ..

下面,我们把这两个数组的顺序倒过来 ...

array_diff($b, $a)

保存 ... 结果是 香蕉 .. 用数组 b 里的项目,减去数组 a 里的项目 ... 会剩下这个 香蕉 ... 因为在 a 里面,不包含这个项目 ....

如果我们把 a 里有的 b 里没有的,跟 b 里有的,a 里没有的合并到一块儿 ... 结果就是一个对称的差集 ...

array_merge(array_diff($a, $b), array_diff($b, $a))

得到的结果就是桔子,还有香蕉 ... 去掉了 a 和 b 这两个数组里面一样的项目 ... 也就是 苹果 这个项目 ...

0:00
0:00
4:42
0:00
2:17
0:00
0:00
0:00
1:22
3:45
0:00
0:00

数组的并集,交集,差集《 PHP 基础 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点