Как удалить все листья из многомерного массива?
Этот кусок кода дает мне все листья, Я ищу напротив результат:
$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
foreach($iterator as $key => $value) {
$result[] = array($key, $value);
}
Есть что-то встроенный? Или любой другой элегантный решение?
ParentIterator могу помочь тебе.
<?php
$array = [
'a',
'b'=>[
'c'=>[],
'd'
],
'e',
'f'=>[
'g'=>[
'h',
'i'=>[
'j'=>[],
'k'
]
]
]
];
$rii = new RecursiveIteratorIterator(
new ParentIterator(
new RecursiveArrayIterator($array)
),
RecursiveIteratorIterator::CHILD_FIRST
);
$result = [];
foreach($rii as $key => $dummy) {
echo $key, "\r\n";
}
печать
c
b
j
i
g
f
Других решений пока нет …