我有一个深度多维数组,我需要它来提取特定键的值。我发现该array_walk_recursive
功能将是我最好的选择。我只需要第一次出现。
我的数组看起来像这样 - (除了更复杂)
Array (
[vehicle info] => Array (
[one] => Array (
[submodel] => LX
[engine] => 2.3
)
[two] => Array (
[color] => blue
[year] => 2007
[wheels] => 4
)
[three] => Array (
[submodel] => LX
[make] => Ford
[model] => F-150
[offroad] => No
)
)
)
这里的问题是,submodel
在第一和第三。此外,数组并不一致,所以我必须使用array_walk_recursive
它来搜索匹配的键,然后返回该键的值。
这是我当前的代码 -
array_walk_recursive ($array, (function ($item, $key) {
$wanted = "submodel";
if ($key === $wanted) {
echo ("$key is $item");
}
}));
以上返回submodel is LXsubmodel is LX
。
奖金问题! 如何搜索多个键并为每个键返回第一个对应值?我在想把所有想要的键放在一个数组中,然后做一个 foreach 循环,但不太知道如何构造它。我是 php 新手。