函数名:RecursiveTreeIterator::endIteration()
适用版本:PHP 5 >= 5.3.0, PHP 7
函数描述:结束迭代器的当前迭代,使其返回到根节点。
用法:
RecursiveTreeIterator::endIteration(): void
示例:
// 创建一个多维数组
$data = [
'A' => [
'B' => [
'C' => 'Value C',
'D' => 'Value D'
],
'E' => 'Value E'
],
'F' => 'Value F'
];
// 创建RecursiveArrayIterator对象
$iterator = new RecursiveArrayIterator($data);
// 创建RecursiveTreeIterator对象
$treeIterator = new RecursiveTreeIterator($iterator);
// 迭代输出树状结构
foreach ($treeIterator as $key => $value) {
echo $key . ': ' . $value . PHP_EOL;
// 当迭代到特定节点时,结束迭代并返回到根节点
if ($key == 'C') {
$treeIterator->endIteration();
}
}
输出结果:
A:
├─B:
│ ├─C: Value C
│ └─D: Value D
└─E: Value E
注意事项:
RecursiveTreeIterator::endIteration()
方法只能在循环迭代器时使用,用于提前结束迭代。- 调用
endIteration()
方法后,迭代器将直接返回到根节点,不再继续迭代子节点。 - 在示例中,当迭代到键名为'C'的节点时,调用
endIteration()
方法,使迭代器返回到根节点,即键名为'A'的节点。