函式名稱:Ds\Map::filter()
函式適用版本:PHP 7.0 及更高版本
函式描述:該函式用於建立一個新的對映物件,其中僅包含滿足指定回撥函式條件的鍵值對。
用法:
public function filter(callable $callback): Ds\Map
該函式接受一個回撥函式作為引數,並返回一個新的 Ds\Map 物件,其中包含滿足指定條件的鍵值對。
引數:
$callback
:一個回撥函式,用於對每個鍵值對進行條件判斷。該回撥函式應接受兩個引數:鍵和值,並返回一個布林值。如果返回值為 true,鍵值對將包含在新的對映物件中;如果返回值為 false,則被過濾掉。
返回值:一個新的 Ds\Map 物件,其中只包含滿足指定回撥函式條件的鍵值對。
示例:
<?php
$map = new Ds\Map([1 => 'apple', 2 => 'banana', 3 => 'cherry']);
// 建立一個新的對映物件,僅包含以奇數為鍵的鍵值對
$filteredMap = $map->filter(function ($key, $value) {
return $key % 2 !== 0;
});
print_r($filteredMap);
?>
輸出:
Ds\Map Object
(
[0] => Ds\Pair Object
(
[key] => 1
[value] => apple
)
[1] => Ds\Pair Object
(
[key] => 3
[value] => cherry
)
)
在上面的示例中,我們建立了一個包含三個鍵值對的 Ds\Map 物件。然後,我們使用 filter()
函式來建立一個新的對映物件 $filteredMap
,其中只包含以奇數為鍵的鍵值對。在輸出中可以看到,$filteredMap
中的鍵值對為 (1, 'apple')
和 (3, 'cherry')
,而其中的 (2, 'banana')
則被過濾掉了。