函數(shù)名稱:RecursiveTreeIterator::valid()
適用版本:PHP 5 >= 5.3.0, PHP 7
函數(shù)描述:該函數(shù)用于判斷當(dāng)前迭代位置是否有效。
用法:
public RecursiveTreeIterator::valid ( void ) : bool
參數(shù): 該函數(shù)沒(méi)有任何參數(shù)。
返回值:
- 如果當(dāng)前迭代位置有效,則返回 true。
- 如果當(dāng)前迭代位置無(wú)效,則返回 false。
示例:
// 創(chuàng)建一個(gè)多維數(shù)組
$tree = array(
'A' => array(
'B' => array(
'C' => 'Leaf 1',
'D' => 'Leaf 2'
),
'E' => 'Leaf 3'
),
'F' => 'Leaf 4'
);
// 創(chuàng)建一個(gè)RecursiveArrayIterator對(duì)象
$iterator = new RecursiveArrayIterator($tree);
// 創(chuàng)建一個(gè)RecursiveTreeIterator對(duì)象
$treeIterator = new RecursiveTreeIterator($iterator);
// 遍歷迭代器并輸出每個(gè)節(jié)點(diǎn)
foreach ($treeIterator as $key => $value) {
// 判斷當(dāng)前迭代位置是否有效
if ($treeIterator->valid()) {
echo $key . ': ' . $value . "\n";
}
}
輸出:
A
├B
│├C: Leaf 1
│└D: Leaf 2
└E: Leaf 3
F: Leaf 4
在上述示例中,我們創(chuàng)建了一個(gè)多維數(shù)組,并使用RecursiveArrayIterator將其轉(zhuǎn)換為可迭代對(duì)象。然后,我們使用RecursiveTreeIterator對(duì)該可迭代對(duì)象進(jìn)行迭代,并使用valid()函數(shù)判斷當(dāng)前迭代位置是否有效。如果有效,我們輸出節(jié)點(diǎn)的鍵和值。最后,我們得到了樹(shù)形結(jié)構(gòu)的輸出結(jié)果。