首页 话题 小组 问答 好文 用户 我的社区 域名交易 唠叨

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

发布于 2025-05-03 13:51:04
0
55

函数名: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'的节点。
评论
一个月内的热帖推荐
啊龙
Lv.1普通用户

9545

帖子

31

小组

3242

积分

赞助商广告
站长交流