函式名:Ds\Sequence::filter()
適用版本:PHP 7.1.0 及以上版本
用法:此函式用於過濾序列中的元素,並返回一個新的序列,其中只包含符合指定條件的元素。
語法: public Ds\Sequence Ds\Sequence::filter ( callable $callback )
引數:
- callback: 是一個回撥函式,接受序列中的每個元素作為引數,並返回一個布林值。如果回撥函式返回 true,則保留該元素;如果返回 false,則過濾該元素。
返回值: 返回一個新的 Ds\Sequence 物件,其中包含符合回撥函式條件的元素。
示例:
$sequence = new Ds\Vector([1, 2, 3, 4, 5]);
// 過濾偶數元素
$filtered = $sequence->filter(function($item) {
return $item % 2 === 0;
});
var_dump($filtered->toArray()); // 輸出: [2, 4]
在上面的示例中,我們建立了一個包含數字的序列。然後,透過使用 filter()
函式並傳入一個回撥函式,我們過濾掉了所有的奇數元素,並返回一個新的序列物件 $filtered
。最後,我們使用 toArray()
函式將序列轉換為陣列,並透過 var_dump()
函式列印輸出結果。輸出結果為 [2, 4]
,即過濾後的偶數元素。