Documentación offline PHP master

Ds\Map::filter

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

Ds\Map::filter

Crear un nuevo mapa utilizando un

callable

para determinar qué pares incluir

Descripción#

public Ds\Map::filter([callable $callback]): Ds\Map
```php

Crear un nuevo mapa utilizando un `callable` para determinar qué pares incluir.

## Parámetros

`callback`  
```php
callback(mixed $key, mixed $value): bool

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).

Valores devueltos#

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.

Ejemplos#

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;
}));
?>

Resultado del ejemplo anterior es 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 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());
?>

Resultado del ejemplo anterior es similar a:

object(Ds\Map)#2 (3) {
  [0]=>
  int(1)
  [1]=>
  string(1) "a"
  [2]=>
  bool(true)
}