目前正在疯狂地研究如何做到这一点,基本上我有一个多维数组,需要一个代码来检查所有值以及值是否存在于所有数组中而不是返回结果。
$array = [
'visitPoints'=>[
20=>[2,5,6,8,10,11],
35=>[2,5,6]
],
'islands'=>[
20=>[5,10,11],
35=>[5,6]
],
'animals'=>[
20=>[5,11],
35=>[]
]
];
我正在寻找的结果是这样的:
$result = [
20=>[5,11],
35=>[]
];
这里是示例链接:https://3v4l.org/3ZXOe
也许是这样的?测试一下这里。
$array = [
'visitPoints'=>[
20=>[2,5,6,8,10,11],
35=>[2,5,6]
],
'islands'=>[
20=>[5,10,11],
35=>[5,6]
],
'animals'=>[
20=>[5,11],
35=>[]
]
];
function checkExisting($arr) {
$result = [];
$pass = 0;
foreach($arr as $firstLvlKey=>$firstLvlArray) {
$pass++;
foreach($firstLvlArray as $secondLvlKey=>$secondLvlArray) {
if($pass === 1) {
$result[$secondLvlKey] = $secondLvlArray;
} else {
$result[$secondLvlKey] = array_intersect($result[$secondLvlKey],$secondLvlArray);
}
}
}
return $result;
}
print_r(checkExisting($array));