php – 在多维数组中查找子数组之间的公共值
发布时间:2020-12-13 22:01:45 所属栏目:PHP教程 来源:网络整理
导读:我有以下数组: Array( [0] = Array ( [0] = 87 [1] = 58 [2] = 85 [3] = 86 ) [1] = Array ( [0] = 58 [1] = 84 ) [2] = Array ( [0] = 58 )) 上面的这个数组是一个例子.实际的数组大小可变,但结构如下.基本上,我想在每个二级数组上运行array_intersect并获
我有以下数组:
Array ( [0] => Array ( [0] => 87 [1] => 58 [2] => 85 [3] => 86 ) [1] => Array ( [0] => 58 [1] => 84 ) [2] => Array ( [0] => 58 ) ) 上面的这个数组是一个例子.实际的数组大小可变,但结构如下.基本上,我想在每个二级数组上运行array_intersect并获取它们之间常见的值(数字).在这种情况下,它将是58. 我不太清楚从哪里开始.有什么建议? 解决方法
这对我有用:
function multi_intersect($arr) { $return = array(); foreach ($arr as $a) { foreach ($arr as $b) { if ($a === $b) continue; $return = array_merge($return,array_intersect($a,$b)); } } return array_unique($return); } 应该得到你: Array ( [0] => 58 ) 如果您在至少两个子阵列中有一个公共号码,则上述操作将起作用. 编辑后: 如果要查找所有子数组中包含的数字,可以在array_intersect上使用call_user_func_array: $intersect = call_user_func_array('array_intersect',$arr); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |