RecursiveIteratorIterator::endChildren()

将迭代器的内部指针移动到当前子迭代器的末尾

首字母:R

函数名称:RecursiveIteratorIterator::endChildren()

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

函数描述:该函数将迭代器的内部指针移动到当前子迭代器的末尾。

用法:

void RecursiveIteratorIterator::endChildren ( void )

参数: 该函数没有参数。

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

示例: 假设有一个多层级的数组,我们可以使用RecursiveArrayIterator和RecursiveIteratorIterator来遍历该数组,并使用endChildren()函数将迭代器的内部指针移动到当前子迭代器的末尾。

$array = array(
 'a' => array(
 'b' => array(
 'c' => 'value'
 )
 )
);
$iterator = new RecursiveIteratorIterator(
 new RecursiveArrayIterator($array),
 RecursiveIteratorIterator::SELF_FIRST
);
foreach ($iterator as $key => $value) {
 echo $key . ': ' . $value . "\n";
 if ($key == 'b') {
 $iterator->endChildren(); // 将内部指针移动到当前子迭代器的末尾
 }
}

输出:

a: Array
b: Array
c: value

在上面的示例中,我们首先创建了一个多维数组。然后,我们使用RecursiveArrayIterator将其转换为可迭代对象。接下来,我们使用RecursiveIteratorIterator遍历该可迭代对象,并使用endChildren()函数将迭代器的内部指针移动到当前子迭代器的末尾。最后,我们打印出每个键值对。当键为'b'时,我们调用endChildren()函数,将内部指针移动到了子迭代器的末尾,然后继续遍历子迭代器的下一个元素。

同首字母函数