PHP Conference Nagoya 2025

Ds\Map::remove

(PECL ds >= 1.0.0)

Ds\Map::removeRemoves and returns a value by key

Descripción

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

Removes and returns a value by key, or return an optional default value if the key could not be found.

Nota:

Keys of type object are supported. If an object implements Ds\Hashable, equality will be determined by the object's equals function. If an object does not implement Ds\Hashable, objects must be references to the same instance to be considered equal.

Nota:

You can also use array syntax to access values by key, eg. $map["key"].

Precaución

Be careful when using array syntax. Scalar keys will be coerced to integers by the engine. For example, $map["1"] will attempt to access int(1), while $map->get("1") will correctly look up the string key.

See Arrays.

Parámetros

key

The key to remove.

default

The optional default value, returned if the key could not be found.

Valores devueltos

The value that was removed, or the default value if provided and the key could not be found in the map.

Errores/Excepciones

OutOfBoundsException if the key could not be found and a default value was not provided.

Ejemplos

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

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

var_dump($map->remove("a")); // 1
var_dump($map->remove("e", 10)); // 10 (default used)
?>

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