PHP Conference Japan 2024

array_find_key

(PHP 8 >= 8.4.0)

array_find_key傳回第一個滿足回呼函式條件的元素的鍵名

說明

array_find_key(陣列 $array, 可呼叫 $callback): 混合

array_find_key() 會傳回陣列 (array) 中第一個讓給定的 callback 回傳 true 的元素的鍵值。如果沒有找到符合的元素,則函式會傳回 null

參數

array
要搜尋的 陣列
callback

用於檢查每個元素的回呼函式,其必須為

callback(混合 $value, 混合 $key): 布林值
如果此函式傳回 true,則 array_find_key() 會傳回該鍵值,且不會針對後續元素呼叫回呼函式。

傳回值

此函式會傳回第一個讓 callback 傳回 true 的元素的鍵值。如果沒有找到符合的元素,則函式會傳回 null

範例

範例 #1 array_find_key() 範例

<?php
$array
= [
'a' => 'dog',
'b' => 'cat',
'c' => 'cow',
'd' => 'duck',
'e' => 'goose',
'f' => 'elephant'
];

// 尋找名稱長度超過 4 個字元的第一個動物。
var_dump(array_find_key($array, function (string $value) {
return
strlen($value) > 4;
}));

// 尋找名稱以 f 開頭的第一個動物。
var_dump(array_find_key($array, function (string $value) {
return
str_starts_with($value, 'f');
}));

// 尋找陣列鍵值是動物名稱第一個字母的第一個動物。
var_dump(array_find_key($array, function (string $value, $key) {
return
$value[0] === $key;
}));

// 尋找陣列鍵值符合正規表達式的第一個動物。
var_dump(array_find_key($array, function ($value, $key) {
return
preg_match('/^([a-f])$/', $key);
}));
?>

上述範例將輸出

string(1) "e"
NULL
string(1) "c"
string(1) "a"

另請參閱

  • array_find() - 回傳滿足回呼函式條件的第一個元素
  • array_all() - 檢查是否所有陣列元素都滿足回呼函式條件
  • array_any() - 檢查是否至少有一個陣列元素滿足回呼函式條件
  • array_filter() - 使用回呼函式過濾陣列元素
  • array_reduce() - 使用回呼函式迭代地將陣列簡化為單一值
新增註解

使用者貢獻的註解

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