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
廣告