查詢

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

「 檢查堆的迭代器是否仍然有效 」


函式名稱:SplHeap::valid()

適用版本:PHP 5 >= 5.3.0, PHP 7

函式描述:檢查堆的迭代器是否仍然有效

用法: bool SplHeap::valid ( void )

說明: SplHeap::valid() 函式用於檢查SplHeap物件的迭代器是否仍然有效。如果迭代器仍然有效,該函式將返回 true,否則返回 false。

示例:

class MyHeap extends SplHeap {
    public function compare($value1, $value2) {
        return $value1 - $value2;
    }
}

$heap = new MyHeap();
$heap->insert(5);
$heap->insert(10);
$heap->insert(3);

$heap->rewind();

while ($heap->valid()) {
    echo $heap->current() . " ";
    $heap->next();
}

輸出: 3 5 10

在上面的示例中,我們建立了一個自定義的堆類MyHeap,重寫了compare()方法來定義堆的排序規則。然後我們向堆中插入了三個元素。接下來,我們使用rewind()方法將迭代器指標移動到堆的起始位置,並使用valid()方法來檢查迭代器的有效性。在迴圈中,我們使用current()方法輸出當前元素,並使用next()方法將迭代器指標向前移動。最終,我們得到了按照升序排列的堆元素輸出。

補充糾錯
上一個函式: SplMaxHeap::compare()函式
下一個函式: SplHeap::top()函式
熱門PHP函式
分享連結