PHP Conference Japan 2024

Ds\Map::get

(PECL ds >= 1.0.0)

Ds\Map::get傳回指定鍵的值

說明

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

傳回指定鍵的值,如果找不到鍵,則傳回選擇性的預設值。

注意事項:

支援 object 類型的鍵。如果物件實作了 Ds\Hashable,則相等性將由物件的 equals 函式決定。如果物件未實作 Ds\Hashable,則物件必須參考同一個實例才會被視為相等。

注意事項:

您也可以使用陣列語法透過鍵存取值,例如 $map["key"]

警告

使用陣列語法時請務必小心。純量鍵值會被引擎強制轉換為整數。例如,$map["1"] 會嘗試存取 int(1),而 $map->get("1") 則會正確地查找字串鍵值。

參見 陣列

參數

key

要查找的鍵值。

default

可選的預設值,如果找不到鍵值則返回此值。

回傳值

對應給定 key 的值,或者如果提供 default 值且在映射中找不到鍵值,則返回該預設值。

錯誤/例外

如果找不到鍵值且未提供預設值,則會拋出 OutOfBoundsException 例外。

範例

範例 #1 Ds\Map::get() 範例

<?php
$map
= new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map->get("a")); // 1
var_dump($map->get("d", 10)); // 10 (使用預設值)
?>

上述範例將輸出類似以下的內容

int(1)
int(10)

範例 #2 Ds\Map::get() 使用陣列語法的範例

<?php
$map
= new \Ds\Map(["a" => 1, "b" => 2, "c" => 3]);

var_dump($map["a"]); // 1
?>

上述範例將輸出類似以下的內容

int(1)
新增註解

使用者貢獻的註解

此頁面沒有使用者貢獻的註解。
To Top