函式名稱:IteratorIterator::valid()
函式描述:該函式用於檢查迭代器中的當前位置是否有效。
適用版本:該函式在PHP 5及以上版本中可用。
語法:public IteratorIterator::valid ( void ) : bool
引數:該函式不接受任何引數。
返回值:如果當前位置有效,則返回true;否則返回false。
示例:
// 建立一個陣列迭代器
$array = new ArrayIterator([1, 2, 3]);
// 建立一個迭代器迭代器
$iterator = new IteratorIterator($array);
// 列印迭代器中的每個元素
foreach ($iterator as $key => $value) {
echo "$key: $value\n";
var_dump($iterator->valid());
}
/*
輸出結果:
0: 1
bool(true)
1: 2
bool(true)
2: 3
bool(true)
bool(false)
*/
在上面的示例中,我們首先建立了一個包含數字的陣列迭代器。然後,我們建立了一個迭代器迭代器,將陣列迭代器作為引數傳遞給它。接下來,我們使用foreach迴圈遍歷迭代器迭代器,並在每次迴圈中列印當前元素的鍵和值。在每個迴圈迭代中,我們還使用valid()函式檢查當前位置是否有效,並列印結果。最後一個迴圈迭代之後,valid()函式返回false,表示當前位置無效。