php 如何获取里面相同的项_PHP_编程问答

php 如何获取里面相同的项

来源:互联网  时间:2018/1/28 16:13:10

关于网友提出的“ 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<count($data); $i++){

foreach($data[0] as $k=>$v){
    if()
}

}

解决方案3:

用php自带的函数啊,一行代码就搞定
array_intersect() 这个函数不考虑数组的键直接返回两个或多个数组的“值得交集”
array_inersect_assoc 这个函数将键和值绑定,一起比较交集部分
array_intersect_key()函数是将两个数组的键值进行比较,返回键值交集的数组。

解决方案4:

// 发现 ... 还挺好用的
$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;

上一篇每日签到功能怎么实现的?
下一篇laravel 关联模型报错!failed to open stream
明星图片
相关文章
《 php 如何获取里面相同的项》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)