PHP CallbackFilterIterator::accept()函式是用於在迭代過程中過濾元素的回撥函式。它允許你定義一個回撥函式來決定哪些元素應該被保留或過濾掉。
用法:
bool CallbackFilterIterator::accept ([ void ] )
引數: 該函式不接受任何引數。
返回值: 該函式返回一個布林值,如果回撥函式返回 true,則表示元素應該保留,如果返回 false,則表示元素應該被過濾掉。
示例: 假設有一個陣列,包含了一些數字,我們要使用CallbackFilterIterator::accept()函式過濾掉奇數,只保留偶數。
$array = [1, 2, 3, 4, 5, 6];
$iterator = new CallbackFilterIterator(new ArrayIterator($array), function($current, $key, $iterator) {
return $current % 2 === 0;
});
foreach ($iterator as $key => $value) {
echo $key . ': ' . $value . PHP_EOL;
}
輸出:
1: 2
3: 4
5: 6
在上面的例子中,我們傳遞了一個陣列到CallbackFilterIterator,並透過回撥函式來判斷陣列中的元素是否為偶數。只有元素為偶數的情況下,回撥函式才會返回true,元素被保留。最終只有2、4和6的鍵值對被列印出來。