查詢

FilterIterator::accept()函式—用法及示例

「 一個用來過濾迭代器元素的方法 」


FilterIterator::accept() 是一個用來過濾迭代器元素的方法。它用於確定迭代器是否接受當前元素的條件。

用法

bool FilterIterator::accept ( void )

引數: 該方法沒有引數。

返回值: 返回一個布林值,表示當前迭代器元素是否被接受。

示例: 假設我們有一個陣列迭代器,並且我們想要過濾掉所有小於 5 的元素,可以使用 FilterIterator::accept() 方法來實現:

class NumberFilter extends FilterIterator {
    public function accept() {
        return $this->current() >= 5; // 只接受大於等於 5 的元素
    }
}

$numbers = new ArrayIterator([1, 2, 3, 4, 5, 6, 7, 8, 9]);
$filteredNumbers = new NumberFilter($numbers);

foreach ($filteredNumbers as $number) {
    echo $number . " "; // 輸出:5 6 7 8 9
}

在上面的示例中,我們建立了一個繼承自 FilterIterator 的自定義類 NumberFilter,並重寫了 accept() 方法。在 accept() 方法中,我們使用 current() 方法獲取當前迭代器元素的值,並返回一個布林值以決定是否接受該元素。然後,我們使用 NumberFilter 類建立了一個新的過濾迭代器 $filteredNumbers,並透過 foreach 迴圈遍歷過濾後的結果。輸出結果只包含大於等於 5 的元素。

補充糾錯
上一個函式: Fiber::isStarted()函式
下一個函式: file_put_contents()函式
熱門PHP函式
分享連結