PHP - 地图函数


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

优势

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

弱点

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

句法

Ds\Map implements Ds\Collection {
   /* Constants */   
   
   const int MIN_CAPACITY = 16 ;
   /* Methods */
   
   public void allocate( int $capacity )
   public void apply( callable $callback )
   public int capacity( void )
   public void clear( void )
   public Ds\Map copy( void )
   public Ds\Map diff( Ds\Map $map )
   public Ds\Map filter([ callable $callback ] )
   public Ds\Pair first( void )
   public mixed get( mixed $key [, mixed $default ] )
   public bool hasKey( mixed $key )
   public bool hasValue( mixed $value )
   public Ds\Map intersect( Ds\Map $map )
   public bool isEmpty( void )
   public Ds\Set keys( void )
   public void ksort([ callable $comparator ] )
   public Ds\Map ksorted([ callable $comparator ] )
   public Ds\Pair last( void )
   public Ds\Map map( callable $callback )
   public Ds\Map merge( mixed $values )
   public Ds\Sequence pairs( void )
   public void put( mixed $key , mixed $value )
   public void putAll( mixed $pairs )
   public mixed reduce( callable $callback [, mixed $initial ] )
   public mixed remove( mixed $key [, mixed $default ] )
   public void reverse( void )
   public Ds\Map reversed( void )
   public Ds\Pair skip( int $position )
   public Ds\Map slice int $index [, int $length ] )
   public void sort([ callable $comparator ] )
   public Ds\Map sorted([ callable $comparator ] )
   public number sum( void )
   public array toArray( void )
   public Ds\Map union( Ds\Map $map )
   public Ds\Sequence values( void )
   public Ds\Map xor( Ds\Map $map )
}

预定义常量

Ds\Map::MIN_CAPACITY

先生编号 功能说明
1

Ds\Map::allocate() 函数

该函数可以为所需容量分配足够的内存。

2

Ds\Map::apply() 函数

该函数可以通过对每个值应用回调函数来更新所有值。

3

Ds\Map::capacity() 函数

该函数可以返回当前容量。

4

Ds\Map::clear() 函数

该函数可以删除所有值。

5

Ds\Map::copy() 函数

该函数可以返回映射的浅表副本。

6

Ds\Map::count() 函数

此函数可以返回映射中的值的数量。

7

Ds\Map::diff() 函数

此函数可以使用其他映射中不存在的键来创建新映射。

8

Ds\Map::filter() 函数

此函数可以通过使用可调用来确定要包含哪些对来创建新映射。

9

Ds\Map::first() 函数

此函数可以返回映射中的第一对。

10

Ds\Map::get() 函数

该函数可以返回给定键的值。

11

Ds\Map::hasKey() 函数

该函数可以判断map中是否包含给定的key。

12

Ds\Map::hasValue() 函数

该函数可以判断地图中是否包含给定值。

13

Ds\Map::intersect() 函数

该函数可以通过将键与另一个映射相交来创建一个新映射。

14

Ds\Map::isEmpty() 函数

该函数可以返回return 地图是否为空。

15

Ds\Map::jsonSerialize() 函数

此函数可以返回可转换为 JSON 的表示形式。

16

Ds\Map::keys() 函数

该函数可以返回地图键的集合。

17 号

Ds\Map::ksort() 函数

该函数可以按键对地图进行就地排序。

18

Ds\Map::ksorted() 函数

此函数可以返回按键排序的副本。

19

Ds\Map::last() 函数

该函数可以返回地图的最后一对。

20

Ds\Map::map() 函数

此函数可以返回对每个值应用回调的结果。

21

Ds\Map::merge() 函数

该函数可以返回所有给定关联相加的结果。

22

Ds\Map::pairs() 函数

该函数可以返回包含地图所有对的序列。

23

Ds\Map::put() 函数

该函数可以将键与值关联起来。

24

Ds\Map::putAll() 函数

该函数可以关联可遍历对象或数组的所有键值对。

25

Ds\Map::reduce() 函数

该函数可以通过使用回调函数将映射减少为单个值。

26

Ds\Map::remove() 函数

该函数可以通过键删除并返回一个值。

27

Ds\Map::reverse() 函数

该功能可以就地反转地图。

28

Ds\Map::reversed() 函数

该函数可以返回反向副本。

29

Ds\Map::skip() 函数

该函数可以返回给定位置索引处的对。

30

Ds\Map::slice() 函数

该函数可以返回由起始索引和长度定义的映射的子集。

31

Ds\Map::sort() 函数

该函数可以按值对地图进行就地排序。

32

Ds\Map::sorted() 函数

该函数可以返回按值排序的副本。

33

Ds\Map::sum() 函数

该函数可以返回映射中所有值的总和。

34

Ds\Map::toArray() 函数

该函数可以将映射转换为数组。

35

Ds\Map::union() 函数

此函数可以使用当前实例和另一个映射中的值创建新映射。

36

Ds\Map::values() 函数

此函数可以返回地图值的序列。

37

Ds\Map::xor() 函数

此函数可以使用当前实例或另一个映射的键创建新映射,但不能同时使用两者。

php_function_reference.htm