(PECL ds >= 1.0.0)
Ds\Map::filter — Crear un nuevo mapa utilizando un callable para determinar qué pares incluir
Crear un nuevo mapa utilizando un callable para determinar qué pares incluir.
callback
Un callable opcional que devuelve true
si el par debe ser incluido, false
en caso contrario.
Si no se proporciona ninguna función de retrollamada, solo se incluirán los valores que sean true
(ver conversión en booléen).
Un nuevo mapa que contiene todos los pares para los cuales
el callback
ha devuelto true
, o todas las claves que
se convierten en true
si no se proporciona un callback
.
Ejemplo #1 Ejemplo de Ds\Map::filter() utilizando una función de retrollamada
<?php
$map = new \Ds\Map(["a", "b", "c", "d", "e"]);
var_dump($map->filter(function($key, $value) {
return $key % 2 == 0;
}));
?>
El resultado del ejemplo sería algo similar a:
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" } }
Ejemplo #2 Ejemplo de Ds\Map::filter() sin función de retrollamada
<?php
$map = new \Ds\Map(["a" => 0, "b" => 1, "c" => true, "d" => false]);
var_dump($map->filter());
?>
El resultado del ejemplo sería algo similar a:
object(Ds\Map)#2 (3) { [0]=> int(1) [1]=> string(1) "a" [2]=> bool(true) }