弘扬国学 · 传承文化
查询

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

「 将迭代器重置到起始位置 」


函数名:RecursiveTreeIterator::rewind()

适用版本:PHP 5 >= 5.3.0, PHP 7

函数描述:该函数用于将迭代器重置到起始位置。

用法:

void RecursiveTreeIterator::rewind ( void )

参数:该函数没有参数。

返回值:该函数没有返回值。

示例:

// 创建一个多维数组
$data = [
    'A' => [
        'B' => [
            'C' => 'Value 1',
            'D' => 'Value 2'
        ],
        'E' => 'Value 3'
    ],
    'F' => 'Value 4'
];

// 创建一个递归树迭代器
$iterator = new RecursiveTreeIterator(new RecursiveArrayIterator($data));

// 遍历迭代器并输出每个元素
foreach ($iterator as $key => $value) {
    echo $key . ': ' . $value . "\n";
}

// 重置迭代器到起始位置
$iterator->rewind();

// 输出起始位置的元素
echo 'Rewinded: ' . $iterator->key() . ': ' . $iterator->current();

输出:

A: 
├─ B: 
│  ├─ C: Value 1
│  └─ D: Value 2
└─ E: Value 3
F: Value 4
Rewinded: A: 

在上面的示例中,我们首先创建了一个多维数组$data,并使用RecursiveArrayIterator将其转换为可迭代对象。然后,我们创建了一个RecursiveTreeIterator来遍历多维数组的所有元素,并使用foreach循环输出每个元素。

接着,我们使用rewind()函数将迭代器重置到起始位置,并使用key()和current()函数分别获取当前元素的键和值,并输出到屏幕上。输出结果显示,迭代器已经回到了起始位置,当前元素是'A'。

补充纠错
热门PHP函数
分享链接