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)