关于网友提出的“ php 如何获取里面相同的项”问题疑问,本网通过在网上对“ php 如何获取里面相同的项”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: php 如何获取里面相同的项描述:
$data=[
"0"=>[1,2,3,4],
"1"=>[2,3,4],
"2"=>[1,3,4,6],
"3"=>[1,4,5,7],
"4"=>[1,4,3]
];
怎么获取这个二维数组中的数组都存在的值。
结果:4
要里面的数组都有这个值,才算。
解决方案1:
我就不写代码了,其实原理也很简单,你遍历一下,从头到尾让每个子数组跟下一个子数组做个交集运算,做到最后,就获得了你想要的共同元素。 探读
解决方案2:这还不简单,我的第一反应就是遍历,for 加上 foreach 肯定可以,但是不知道有没有简单的方法,以下是我的代码:
for($i=0; $i
foreach($data[0] as $k=>$v){
if()
}
}
解决方案3:用php自带的函数啊,一行代码就搞定
array_intersect() 这个函数不考虑数组的键直接返回两个或多个数组的“值得交集”
array_inersect_assoc 这个函数将键和值绑定,一起比较交集部分
array_intersect_key()函数是将两个数组的键值进行比较,返回键值交集的数组。
// 发现 ... 还挺好用的
$result = array_intersect(...$data);
解决方案5:
$data=[
"0"=>[1,2,3,4],
"1"=>[2,3,4],
"2"=>[1,3,4,6],
"3"=>[1,4,5,7],
"4"=>[1,4,3]
];
$arr0 = $data[0];
foreach ($data as $key => $value) {
$arr0 = array_intersect($arr0, $value);
}
var_dump($arr0);exit;