PHP Conference Japan 2024

Ds\Map::remove

(PECL ds >= 1.0.0)

Ds\Map::remove移除并返回键对应的值

描述

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

移除并返回键对应的值,如果找不到键则返回一个可选的默认值。

注意:

支持 对象 类型的键。如果对象实现了 Ds\Hashable,则相等性将由对象的 equals 函数确定。如果对象未实现 Ds\Hashable,则对象必须是同一个实例的引用才能被视为相等。

注意:

您还可以使用数组语法通过键访问值,例如 $map["key"]

警告

使用数组语法时要小心。标量键将被引擎强制转换为整数。例如,$map["1"] 将尝试访问 int(1),而 $map->get("1") 将正确查找字符串键。

参见 数组

参数

key

要移除的键。

default

可选的默认值,如果找不到键则返回此值。

返回值

已移除的值,或者如果提供了 default 值且在映射中找不到 key,则返回 default 值。

错误/异常

如果找不到键且未提供默认值,则抛出 OutOfBoundsException

范例

示例 #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)
添加注释

用户贡献的笔记 1 条笔记

1
carlo dot revelli at berkeley dot edu
5 年前
注意语法

<?php

unset($map[$key]);

?>

在机器上运行速度也快了 2 倍
To Top