函數(shù)名:RecursiveTreeIterator::rewind()
適用版本:PHP 5 >= 5.3.0, PHP 7
函數(shù)描述:該函數(shù)用于將迭代器重置到起始位置。
用法:
void RecursiveTreeIterator::rewind ( void )
參數(shù):該函數(shù)沒有參數(shù)。
返回值:該函數(shù)沒有返回值。
示例:
// 創(chuàng)建一個多維數(shù)組
$data = [
'A' => [
'B' => [
'C' => 'Value 1',
'D' => 'Value 2'
],
'E' => 'Value 3'
],
'F' => 'Value 4'
];
// 創(chuàng)建一個遞歸樹迭代器
$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:
在上面的示例中,我們首先創(chuàng)建了一個多維數(shù)組$data,并使用RecursiveArrayIterator將其轉(zhuǎn)換為可迭代對象。然后,我們創(chuàng)建了一個RecursiveTreeIterator來遍歷多維數(shù)組的所有元素,并使用foreach循環(huán)輸出每個元素。
接著,我們使用rewind()函數(shù)將迭代器重置到起始位置,并使用key()和current()函數(shù)分別獲取當(dāng)前元素的鍵和值,并輸出到屏幕上。輸出結(jié)果顯示,迭代器已經(jīng)回到了起始位置,當(dāng)前元素是'A'。