Note the syntax
<?php
unset($map[$key]);
?>
is also valid and ran 2x faster on my machine
(PECL ds >= 1.0.0)
Ds\Map::remove — Elimina y devuelve un valor por clave
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é"]
.
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.
key
La clave a eliminar.
default
El valor por defecto opcional, devuelto si la clave no ha podido ser encontrada.
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.
OutOfBoundsException si la clave no ha sido encontrada y ningún valor por defecto ha sido proporcionado.
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)
Note the syntax
<?php
unset($map[$key]);
?>
is also valid and ran 2x faster on my machine