(PECL ds >= 1.0.0)
Ds\Map::filter — Créer une nouvelle carte en utilisant un callable pour déterminer quelles paires inclure
Crée une nouvelle carte en utilisant un callable pour déterminer 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)
}