Ds\Map::remove

(PECL ds >= 1.0.0)

Ds\Map::removeElimina y devuelve un valor por clave

Descripción

public Ds\Map::remove(mixed $key, mixed $default = ?): mixed

Elimina y devuelve un valor por clave, o devuelve un valor por defecto opcional si la clave no ha podido ser encontrada.

Nota:

Las claves de tipo object son soportadas. Si un objeto implementa Ds\Hashable, la igualdad será determinada por la función equals del objeto. Si un objeto no implementa Ds\Hashable, los objetos deben ser referencias a la misma instancia para ser considerados iguales.

Nota:

Asimismo, se puede utilizar la sintaxis de array para acceder a los valores por clave, por ejemplo $map["clé"].

Precaución

Atención al uso de la sintaxis de array. Las claves escalares serán forzadas a enteros por el motor. Por ejemplo, $map["1"] intentará acceder a int(1), mientras que $map->get("1") buscará correctamente la clave de string.

Ver arrays.

Parámetros

key

La clave a eliminar.

default

El valor por defecto opcional, devuelto si la clave no ha podido ser encontrada.

Valores devueltos

El valor que ha sido eliminado, o el default valor si ha sido proporcionado y la key no ha podido ser encontrada en el mapa.

Errores/Excepciones

OutOfBoundsException si la clave no ha sido encontrada y ningún valor por defecto ha sido proporcionado.

Ejemplos

Ejemplo #1 Ejemplo de Ds\Map::remove()

<?php
$map
= new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->remove("a")); // 1
var_dump($map->remove("e", 10)); // 10 (uso del valor por defecto)
?>

El resultado del ejemplo sería algo similar a:

int(1)
int(10)
add a note

User Contributed Notes 1 note

up
1
carlo dot revelli at berkeley dot edu
5 years ago
Note the syntax

<?php

unset($map[$key]);

?>

is also valid and ran 2x faster on my machine
To Top