Ds\Map::remove

(PECL ds >= 1.0.0)

Ds\Map::removeУдаляет и возвращает значение по ключу

Описание

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

Удаляет и возвращает значение по ключу, либо возвращает необязательное значение по умолчанию, если ключ не найден.

Замечание:

Поддерживаются значения типа object. Если объект реализует интерфейс Ds\Hashable, проверка производится путём вызова метода объекта equals. Если объект не реализует интерфейс Ds\Hashable, объекты должны ссылаться на один и тот же экземпляр класса.

Замечание:

Вы можете использовать синтаксис массива для доступа к значениям, т.е. $map["key"].

Предостережение

Будьте осторожны при использовании синтаксиса массива. Скалярные ключи будут приведены к целым движком PHP. К примеру, $map["1"] будет пытаться обратиться к int(1), тогда как $map->get("1") обратится к правильному элементу.

Смотрите раздел Массивы.

Список параметров

key

Ключ для удаления.

default

Необязательный параметр, устанавливающий возвращаемое значение по умолчанию, если ключ не найден.

Возвращаемые значения

Удалённое значение или default, если он указан, а ключ key не найден.

Ошибки

Выбрасывает исключение OutOfRangeException, если ключ не найден и не задано значение по умолчанию.

Примеры

Пример #1 Пример использования 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 (используется по умолчанию)
?>

Вывод приведённого примера будет похож на:

int(1)
int(10)
add a note add a note

User Contributed Notes 1 note

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

<?php

unset($map[$key]);

?>

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