PHP Conference Japan 2024

Map 類別

(PECL ds >= 1.0.0)

簡介

Map 是一個鍵值對的序列集合,幾乎與在類似情況下使用的陣列相同。鍵可以是任何類型,但必須是唯一的。如果使用相同的鍵將值添加到 Map 中,則會替換值。

優點

  • 鍵和值可以是任何類型,包括物件。
  • 支援陣列語法(方括號)。
  • 保留插入順序。
  • 效能和記憶體效率與陣列非常相似。
  • 當大小下降到足夠低時,會自動釋放已配置的記憶體。

缺點

  • 當物件用作鍵時,無法轉換為陣列。

類別概要

class Ds\Map implements Ds\Collection, ArrayAccess {
/* 常數 */
const int MIN_CAPACITY = 16;

最小容量常數為 16。

/* 方法 */
public allocate(int $capacity): void

配置 Map 的容量。 參數:`$capacity` (int) 容量。

public apply(callable $callback): void

將回呼函數應用於 Map 中的每個值。 參數:`$callback` (callable) 要套用的回呼函數。

public capacity(): int

取得 Map 的容量。 返回值:int 容量。

public clear(): void

清除 Map 中的所有元素。

public copy(): Ds\Map

複製 Map。 返回值:Ds\Map Map 的副本。

public diff(Ds\Map $map): Ds\Map

計算當前 Map 與給定 Map 的差集。 參數:`$map` (Ds\Map) 要比較的 Map。 返回值:Ds\Map 包含存在於當前 Map 中但不存在於給定 Map 中的鍵值對的新 Map。

public filter(callable $callback = ?): Ds\Map

根據回呼函數過濾 Map 中的元素。 參數:`$callback` (callable, 可選) 過濾回呼函數。 返回值:Ds\Map 一個包含通過過濾器的新 Map。

public first(): Ds\Pair

取得 Map 中的第一個鍵值對。 返回值:Ds\Pair 第一個鍵值對。

public get(mixed $key, mixed $default = ?): mixed

取得與給定鍵關聯的值。 參數:`$key` (mixed) 鍵。 `$default` (mixed, 可選) 預設值,如果鍵不存在則返回。 返回值:mixed 與鍵關聯的值。

public hasKey(mixed $key): bool

檢查 Map 是否包含給定的鍵。 參數:`$key` (mixed) 鍵。 返回值:bool 如果 Map 包含鍵,則返回 true,否則返回 false。

public hasValue(mixed $value): bool

檢查 Map 是否包含給定的值。 參數:`$value` (mixed) 值。 返回值:bool 如果 Map 包含值,則返回 true,否則返回 false。

public intersect(Ds\Map $map): Ds\Map

計算當前 Map 與給定 Map 的交集。 參數:`$map` (Ds\Map) 要比較的 Map。 返回值:Ds\Map 一個包含兩個 Map 共有的鍵值對的新 Map。

public isEmpty(): bool

檢查 Map 是否為空。 返回值:bool 如果 Map 為空,則返回 true,否則返回 false。

public keys(): Ds\Set

取得 Map 中所有鍵的集合。 返回值:Ds\Set 包含所有鍵的集合。

public ksort(callable $comparator = ?): void

使用鍵排序 Map。 參數:`$comparator` (callable, 可選) 比較函數。

公開 ksorted(可呼叫 $comparator = ?): Ds\Map
公開 last(): Ds\Pair
公開 map(可呼叫 $callback): Ds\Map
公開 merge(混合 $values): Ds\Map
公開 pairs(): Ds\Sequence
公開 put(混合 $key, 混合 $value):
公開 putAll(混合 $pairs):
公開 reduce(可呼叫 $callback, 混合 $initial = ?): 混合
公開 remove(混合 $key, 混合 $default = ?): 混合
公開 reverse():
公開 reversed(): Ds\Map
公開 skip(整數 $position): Ds\Pair
公開 slice(整數 $index, 整數 $length = ?): Ds\Map
公開 sort(可呼叫 $comparator = ?):
公開 sorted(可呼叫 $comparator = ?): Ds\Map
公開 sum(): 整數|浮點數
公開 toArray(): 陣列
公開 union(Ds\Map $map): Ds\Map
公開 xor(Ds\Map $map): Ds\Map
}

預定義常數

Ds\Map::MIN_CAPACITY

更新日誌

版本 說明
PECL ds 1.3.0 此類別現在實作 ArrayAccess

目錄

新增註釋

使用者提供的註釋

此頁面沒有使用者提供的註釋。
To Top