【发布时间】:2011-04-18 05:08:38
【问题描述】:
我使用 RecursiveIteratorIterator 遍历一个多维数组,并希望能够知道当前元素是否是其深度的最后一个子元素。我想过这个:
$iterator = new RecursiveIteratorIterator($array,
RecursiveIteratorIterator::SELF_FIRST);
foreach ($iterator as $val) {
$next = clone $iterator;
$next->next();
$lastChild = ($next->getDepth() < $iterator->getDepth());
}
但是 RecursiveIteratorIterator 说它不可克隆。
【问题讨论】:
-
@Bobby:为什么 spl 标签没有意义?这绝对是一个 spl 问题。
-
@Dennis Haarbrink:SO 上只有 42 个问题标记为
[SPL],所以我不确定它是否为问题增加了一些价值。我也不确定这是否与[php]本身不是同义词,因为我也不用[mscoree]或[System-Data]标记C# 问题。但这可能值得在 Meta 上进行讨论。 -
我标记了“php loops iterator last-child”,不懂你的 cmets。
-
@Bobby:我想如果标签存在并且它是活动的(当然是对问题的描述),你应该使用它。当然,它是否是一个有价值的标签是有争议的。
-
@sod:检查问题的修订历史。我添加了 spl-tag,但被 Bobby 删除了。