(PECL ds >= 1.0.0)
Ds\Map::filter — Creer une nouvelle carte en utilisant un callable pour determiner quelles paires inclure
Créer une nouvelle carte en utilisant un callable pour determiner quelles paires inclure.
callback
Un callable optionnel qui retourne true
si la paire doit être incluse, false
sinon.
Si aucune fonction de rappel n'est fournie, seules les valeurs qui sont true
(voir conversion en booléen)
seront incluses.
Une nouvelle carte contenant toutes les paires pour lesquelles
soit le callback
a retourné true
, soit toutes les valeurs qui
se convertissent en true
si un callback
n'a pas été fourni.
Exemple #1 Exemple de Ds\Map::filter() en utilisant une fonction de rappel
<?php
$map = new \Ds\Map(["a", "b", "c", "d", "e"]);
var_dump($map->filter(function($key, $value) {
return $key % 2 == 0;
}));
?>
Résultat de l'exemple ci-dessus est similaire à :
object(Ds\Map)#3 (3) { [0]=> object(Ds\Pair)#2 (2) { ["key"]=> int(0) ["value"]=> string(1) "a" } [1]=> object(Ds\Pair)#4 (2) { ["key"]=> int(2) ["value"]=> string(1) "c" } [2]=> object(Ds\Pair)#5 (2) { ["key"]=> int(4) ["value"]=> string(1) "e" } }
Exemple #2 Exemple de Ds\Map::filter() sans fonction de rappel
<?php
$map = new \Ds\Map(["a" => 0, "b" => 1, "c" => true, "d" => false]);
var_dump($map->filter());
?>
Résultat de l'exemple ci-dessus est similaire à :
object(Ds\Map)#2 (3) { [0]=> int(1) [1]=> string(1) "a" [2]=> bool(true) }