Joh*_*n K 3 php arrays multidimensional-array
我有以下数组:
Array
(
[0] => Array
(
[0] => 87
[1] => 58
[2] => 85
[3] => 86
)
[1] => Array
(
[0] => 58
[1] => 84
)
[2] => Array
(
[0] => 58
)
)
Run Code Online (Sandbox Code Playgroud)
上面的这个数组是一个例子.实际的数组大小可变,但结构如下.基本上,我想array_intersect在每个二级数组上运行并获取它们之间常见的值(数字).在这种情况下,它会58.
我不太清楚从哪里开始.有什么建议?
net*_*der 12
这对我有用:
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);
}
Run Code Online (Sandbox Code Playgroud)
应该得到你:
Array
(
[0] => 58
)
Run Code Online (Sandbox Code Playgroud)
如果您在至少两个子阵列中有一个公共号码,则上述操作将起作用.
编辑后:
如果要查找所有子数组中包含的数字,只需使用call_user_func_arrayon array_intersect:
$intersect = call_user_func_array('array_intersect', $arr);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2466 次 |
| 最近记录: |