NoRewindIterator::valid() 函式用於檢查當前迭代器位置是否有效。
用法:
bool NoRewindIterator::valid ( void )
引數: 該函式不接受任何引數。
返回值: 如果當前迭代器位置有效,則返回 true,否則返回 false。
示例:
$array = ['apple', 'banana', 'cherry'];
$iterator = new ArrayIterator($array);
$noRewindIterator = new NoRewindIterator($iterator);
// 初始位置有效,因為迭代器未開始迭代
var_dump($noRewindIterator->valid()); // 輸出: bool(true)
// 移動到下一個位置
$noRewindIterator->next();
// 判斷當前位置是否有效
var_dump($noRewindIterator->valid()); // 輸出: bool(true)
// 移動到迭代器末尾
$noRewindIterator->next();
$noRewindIterator->next();
// 判斷當前位置是否有效
var_dump($noRewindIterator->valid()); // 輸出: bool(false)
在上面的示例中,我們建立了一個陣列迭代器 $iterator
,然後用它來初始化一個 NoRewindIterator
物件 $noRewindIterator
。初始位置有效,因為迭代器未開始迭代。透過呼叫 next()
方法,我們將迭代器移動到下一個位置,再次呼叫 valid()
方法,仍然返回 true。最後,我們透過連續呼叫 next()
方法將迭代器移動到末尾,再次呼叫 valid()
方法,返回 false,表示當前迭代器位置無效。