RecursiveTreeIterator::endIteration()

结束迭代器的当前迭代,使其返回到根节点

首字母:R

函数名: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'的节点。

同首字母函数