0
我有這樣的多維數組。它在var_dump()格式中。遞歸獲取多維數組的鍵
array(1) {
[4]=>
array(1) {
[2]=>
array(1) {
[5]=>
array(1) {
[1]=>
array(1) {
[3]=>
array(1) {
[6]=>
array(0) {
}
}
}
}
}
}
}
又名$多陣列,我想從中得到所有的鍵和設置他們得到陣列這樣。
[0=>4, 1=>2, 2=>5, 3=>1, 4=>3, 5=>6] aka **$keysArray**.
試過這樣。
foreach(new \RecursiveIteratorIterator(
new \RecursiveArrayIterator(**$multiArray**),
\RecursiveIteratorIterator::SELF_FIRST)
as $key => $value) {
**$keysArray[]** = $key;
}
也這樣。
function array_keys_multi(array $array) {
$keys = [];
foreach ($array as $key => $value) {
$keys[] = $key;
if (is_array($value)) {
$keys = array_merge($keys, $this->array_keys_multi($value));
}
}
return $keys;
}
但它們都返回不正確的數據。我如何獲得所有密鑰?
應導致是:'[4 => 2,2 => 5,5 => 1,1,1 => 3,3 => 6]'? –
@E_p,不。結果需要像這樣。 [0 => 4,1 => 2,2 => 5,3 => 1,4 => 3,5 => 6] – user3266517
「RecursiveIteratorIterator」方法有什麼問題? – sevavietl