многомерный массив — PHP RecursiveIteratorIterator не выводит все ключи

У меня есть следующий многомерный массив:

$array = array(
1 => null,
2 => array(
3 => null,
4 => array(
5 => null,
),
6 => array(
7 => null,
),
)
);

Если я использую следующий код для перебора массива

$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
foreach ($iterator as $key => $value) {
echo $key.' ';
}

он выводит только ключи без назначенных им массивов. То есть

1 3 5 7

Как я могу заставить это включать все ключи?

2

Решение

Вам просто нужно правильно установить режим. От руководство:

RecursiveIteratorIterator :: SELF_FIRST — Листы уходят и родители в итерации с родителями, идущими первыми.

$iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($array)
, RecursiveIteratorIterator::SELF_FIRST);
6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]