PHP RecursiveIteratorIterator不输出所有键

时间:2016-03-02 18:50:34

标签: php multidimensional-array recursiveiterator

我有以下多维数组:

for (int s1 = 3; s1 >= 0; s1--) {
   ...
}

如果我使用以下代码迭代数组

$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 个答案:

答案 0 :(得分:6)

您只需将模式设置为正确即可。来自manual

  

RecursiveIteratorIterator :: SELF_FIRST - 列表中的和父离开,父母是第一个。

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