除了基本参数参考之外,PHP 站点上没有关于该ArrayIterator
对象的文档,所以我什至不确定这是可能的。
我从ArrayIterator
基本意义上理解了这个例子的概念:
$rows = new ArrayIterator(array('a', 'b', 'c'));
foreach ($rows as $row) {
echo "<p>This is row {$a}.</p>";
}
在我的例子中, rows 数组有点复杂(尽管为了这个例子仍然简化了)......
$rows = array(
'a' => NULL,
'b' => array('d' => NULL, 'e' => NULL, 'f' => NULL),
'c' => NULL
);
$rows = new ArrayIterator($rows);
这个想法是,'b'
在这种情况下,有一些子元素应该像父元素一样被解析,在其余父元素(a,b,c)的末尾(不需要按顺序处理) .
通常我只会使用...
foreach ($child as $c) {
$rows->append($c);
}
但在这种情况下$child
,是一个带有我想要维护的键的数组......
foreach ($child as $key => $c) {
$rows->append($c); // but what about $key???
}
我不想在最后添加一个数组作为元素,我想将键和值添加到父列表中,这样我们最终会得到......
$rows = array(
'a' => ...,
'b' => ...,
'c' => ...,
'd' => ...,
'e' => ...,
'f' => ...
);
问题:是否可以使用键从 foreach 循环中将元素附加到当前迭代数组?