Removes and returns a value by key

# Ds\Map::remove

(PECL ds >= 1.0.0)

Ds\Map::remove — Removes and returns a value by key

### 説明

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.

> 注意:

> 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.

> 注意:

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

警告

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.

### パラメータ

`key`

  The key to remove.

`default`

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

### 返り値

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

### エラー / 例外

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

### 例

例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)
?>`

上の例の出力は、 たとえば以下のようになります。

    int(1)
    int(10)