PHP - 集合函数



集合是唯一值的集合。它使用与Ds Map相同的哈希表。在此实现中,不会考虑映射值。集合接受任何类型的值,包括对象。

集合支持用方括号表示的数组语法。插入顺序保持不变。当它达到一定大小后,它会自动释放保留的内存。add()、remove()和contains()都在O(1)时间内执行。

PHP中的集合数据结构不支持push()、pop()、insert()、shift()或unshift()。

优势

  • 值可以是任何类型,包括对象。
  • 支持数组语法(方括号)。
  • 保留插入顺序。
  • 当大小下降到足够低时,会自动释放分配的内存。
  • add()、remove()和contains()都是O(1)。

劣势

  • 不支持push()、pop()、insert()、shift()或unshift()。
  • 如果在访问索引之前缓冲区中有已删除的值,则get()为O(n),否则为O(1)。

函数列表

以下是Set类提供的函数列表:

序号 函数及描述
1

Ds\Set::add()

此函数可以向集合中添加值。

2

Ds\Set::allocate()

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

3

Ds\Set::capacity()

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

4

Ds\Set::clear()

此函数可以移除所有值。

5

Ds\Set::__construct()

此函数可以创建一个新实例。

6

Ds\Set::contains()

此函数可以确定集合是否包含所有值。

7

Ds\Set::copy()

此函数可以返回集合的浅拷贝。

8

Ds\Set::count

此函数可用于计算集合中存在的数值个数,也可称为集合实例的大小。

9

Ds\Set::diff()

此函数可以使用不在另一个集合中的值创建一个新集合。

10

Ds\Sequence::filter()

此函数可以使用可调用对象来确定要包含哪些值,从而创建一个新的集合。

11

Ds\Set::first()

此函数可以返回集合中的第一个值。

12

Ds\Set::get()

此函数可以返回给定索引处的数值。

13

Ds\Set::intersect()

此函数可以通过与另一个集合的值相交来创建一个新的集合。

14

Ds\Set::isEmpty()

此函数可以返回集合是否为空。

15

Ds\Set::join()

此函数可以将所有值连接在一起作为字符串。

16

Ds\Set::jsonSerialize()

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

17

Ds\Set::last()

此函数可以返回集合中的最后一个值。

18

Ds\Set::merge()

此函数可以返回将所有给定值添加到集合的结果。

19

Ds\Set::reduce()

此函数可以使用回调函数将集合减少为单个值。

20

Ds\Set::remove()

此函数可以从集合中移除所有给定的值。

21

Ds\Set::reverse()

此函数可以就地反转集合。

22

Ds\Set::reversed()

此函数可以返回反转的副本。

23

Ds\Set::slice()

此函数可以返回给定范围的子集。

24

Ds\Set::sort()

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

25

Ds\Set::sorted()

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

26

Ds\Set::sum()

此函数可以返回集合中所有值的总和。

27

Ds\Set::toArray()

此函数可以将集合转换为数组。

28

Ds\Set::union()

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

29

Ds\Set::xor()

此函数可以使用当前实例和另一个集合中的值创建一个新集合,但不能同时在这两个集合中。

php_function_reference.htm
广告