PHP - Map 函数


Map 是键值对的顺序集合,与类似上下文中使用的数组几乎相同。键可以是任意类型,但必须是唯一的,如果使用相同的键添加到映射中,则会替换这些值。

优势

  • 键和值可以是任何类型,包括对象。
  • 支持数组语法(方括号)。
  • 广告订单将保留。
  • 性能和内存效率与数组非常相似。
  • 当其大小下降到足够低时,自动释放分配的内存。

弱势

  • 当对象用作键时,无法转换为数组。

函数列表

以下是 Map 类提供的函数列表 -

函数 描述
Ds\Map::allocate() 为所需的容量分配足够的内存。
Ds\Map::apply() 通过对每个值应用回调函数来更新所有值。
Ds\Map::capacity() 返回当前容量。
Ds\Map::clear() 删除所有值。
Ds\Map::copy() 返回 map 的浅表副本。
Ds\Map::count() 返回 map 值的个数。
Ds\Map::diff() 使用不在另一个 map 中的键来创建新 map。
Ds\Map::filter() 通过使用 callable 来确定要包含哪些对来创建新 map。
Ds\Map::first() 返回 map 中的第一对。
Ds\Map::get() 返回给定键的值。
Ds\Map::hasKey() 确定 map 是否包含给定的键。
Ds\Map::hasValue() 确定 map 是否包含给定值。
Ds\Map::intersect() 通过将 keys 与另一个 map 相交来创建新 map。
Ds\Map::isEmpty() 返回 map 是否为空。
Ds\Map::jsonSerialize() 返回可转换为 JSON 的表示形式。
Ds\Map::keys() 返回 map 的 key 集。
Ds\Map::ksort() 按键就地对 map 进行排序。
Ds\Map::ksorted() 返回一个副本,按键排序。
Ds\Map::last() 返回 map 的最后一对。
Ds\Map::map() 返回对每个值应用回调的结果。
Ds\Map::merge() 返回添加所有给定关联的结果。
Ds\Map::pairs() 返回包含所有 map 对的序列。
Ds\Map::put() 将 key 与值相关联。
Ds\Map::putAll() 关联可遍历对象或数组的所有键值对。
Ds\Map::reduce() 使用回调函数将 map 缩减为单个值。
Ds\Map::remove() 按键删除并返回一个值。
Ds\Map::reverse() 就地反转 map 。
Ds\Map::reversed() 返回反向副本。
Ds\Map::skip() 返回给定位置索引处的对。
Ds\Map::slice() 返回由起始索引和长度定义的 map 子集。
Ds\Map::sort() 按值对 map 进行就地排序。
Ds\Map::sorted() 返回按值排序的副本。
Ds\Map::sum() 返回 map 中所有值的总和。
Ds\Map::toArray() 将 map 转换为数组。
Ds\Map::union() 使用当前实例和另一个 Map 中的值创建新 Map。
Ds\Map::values() 返回 map 值的序列。
Ds\Map::xor() 使用当前实例或另一个 map 的键创建新 map,但不能同时使用两者。