函數(shù)名:RecursiveTreeIterator::endIteration()
適用版本:PHP 5 >= 5.3.0, PHP 7
函數(shù)描述:結(jié)束迭代器的當(dāng)前迭代,使其返回到根節(jié)點(diǎn)。
用法:
RecursiveTreeIterator::endIteration(): void
示例:
// 創(chuàng)建一個多維數(shù)組
$data = [
'A' => [
'B' => [
'C' => 'Value C',
'D' => 'Value D'
],
'E' => 'Value E'
],
'F' => 'Value F'
];
// 創(chuàng)建RecursiveArrayIterator對象
$iterator = new RecursiveArrayIterator($data);
// 創(chuàng)建RecursiveTreeIterator對象
$treeIterator = new RecursiveTreeIterator($iterator);
// 迭代輸出樹狀結(jié)構(gòu)
foreach ($treeIterator as $key => $value) {
echo $key . ': ' . $value . PHP_EOL;
// 當(dāng)?shù)教囟ü?jié)點(diǎn)時,結(jié)束迭代并返回到根節(jié)點(diǎn)
if ($key == 'C') {
$treeIterator->endIteration();
}
}
輸出結(jié)果:
A:
├─B:
│ ├─C: Value C
│ └─D: Value D
└─E: Value E
注意事項:
RecursiveTreeIterator::endIteration()
方法只能在循環(huán)迭代器時使用,用于提前結(jié)束迭代。- 調(diào)用
endIteration()
方法后,迭代器將直接返回到根節(jié)點(diǎn),不再繼續(xù)迭代子節(jié)點(diǎn)。 - 在示例中,當(dāng)?shù)芥I名為'C'的節(jié)點(diǎn)時,調(diào)用
endIteration()
方法,使迭代器返回到根節(jié)點(diǎn),即鍵名為'A'的節(jié)點(diǎn)。