注意语法
<?php
unset($map[$key]);
?>
也有效,在我的机器上运行速度快 2 倍
(PECL ds >= 1.0.0)
Ds\Map::remove — 移除并返回键对应的值
通过键移除并返回一个值,如果找不到键,则返回可选的默认值。
注意:
支持 object 类型的键。如果对象实现了 Ds\Hashable,则相等性将由对象的
equals
函数决定。如果对象没有实现 Ds\Hashable,则对象必须是相同实例的引用才能被视为相等。
注意:
您还可以使用数组语法来通过键访问值,例如
$map["key"]
。
使用数组语法时要小心。标量键将被引擎强制转换为整数。例如,$map["1"]
将尝试访问 int(1)
,而 $map->get("1")
将正确地查找字符串键。
参见 数组。
key
要移除的键。
default
可选的默认值,如果找不到键则返回。
被移除的值,或者如果提供了 default
值且 key
在映射中找不到,则返回该值。
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)