查詢

SplObjectStorage::valid()函式—用法及示例

「 檢查當前迭代位置是否有效 」


函式名稱: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()方法檢查當前迭代位置是否有效。如果有效,則列印當前物件的資訊,否則列印"當前迭代位置無效"。

補充糾錯
熱門PHP函式
分享連結