函式名稱:SplObjectStorage::valid()
適用版本:PHP 5 >= 5.3.0, PHP 7
函式描述:SplObjectStorage::valid() 方法用於檢查當前迭代位置是否有效。
用法:
public SplObjectStorage::valid ( void ) : bool
引數: 此函式沒有引數。
返回值: 如果迭代位置有效,則返回 true;否則返回 false。
示例:
// 建立一個SplObjectStorage物件
$storage = new SplObjectStorage();
// 建立幾個物件並將其新增到SplObjectStorage中
$obj1 = new stdClass();
$obj2 = new stdClass();
$obj3 = new stdClass();
$storage->attach($obj1);
$storage->attach($obj2);
$storage->attach($obj3);
// 遍歷SplObjectStorage物件中的元素
foreach ($storage as $obj) {
// 檢查當前迭代位置是否有效
if ($storage->valid()) {
echo "當前迭代位置有效。\n";
// 列印當前物件的資訊
echo "物件資訊:" . spl_object_hash($obj) . "\n";
} else {
echo "當前迭代位置無效。\n";
}
}
輸出:
當前迭代位置有效。
物件資訊:0000000002a6ef6100000000272f2a9e
當前迭代位置有效。
物件資訊:0000000002a6ef5f00000000272f2a9e
當前迭代位置有效。
物件資訊:0000000002a6ef5e00000000272f2a9e
當前迭代位置無效。
在上面的示例中,我們建立了一個SplObjectStorage物件並將幾個物件新增到其中。然後,我們使用foreach迴圈遍歷SplObjectStorage物件中的元素。在每次迭代時,我們使用SplObjectStorage::valid()方法檢查當前迭代位置是否有效。如果有效,則列印當前物件的資訊,否則列印"當前迭代位置無效"。