我有一個深層多維數組,我需要提取特定鍵的值。我發現array_walk_recursive
功能將是我的最佳選擇。我只需要第一次出現。我如何獲得第一次出現array_walk_recursive在php
我的陣列看起來像這樣 - (除了要複雜得多)
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。
有趣的問題,雖然人們可能不知道該值表示返回的時候,因爲可能有多個具有相同索引的值? – Code4R7
@ Code4R7,我看到它的方式是每個'vehicle_info'有多個相同的鍵,但它們有重複的值,所以只要返回一個值,無論哪一個具體保存都無關緊要。例如在[[one]'和'[three]'中存在'[submodel] => LX' – Hollings
這個人確實說*'我是PHP的新手。'*,我想這也適用於數據庫。我的意思是,這通常是MySQL/MariaDB/PostgreSQL進入圖片的地步。 – Code4R7