查询

RecursiveTreeIterator::endIteration()函数—用法及示例

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


函数名: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'的节点。
补充纠错
热门PHP函数
分享链接