2024 年 PHP 日本會議

array_key_first

(PHP 7 >= 7.3.0, PHP 8)

array_key_first取得陣列的第一個鍵名

說明

array_key_first(array $array): int|string|null

取得指定 array 的第一個鍵名,而不影響內部陣列指標。

參數

array

一個陣列。

返回值

如果陣列不為空,則返回 array 的第一個鍵名;否則返回 null

範例

範例 #1 基本的 array_key_first() 用法

<?php
$array
= ['a' => 1, 'b' => 2, 'c' => 3];

$firstKey = array_key_first($array);

var_dump($firstKey);
?>

上述範例將輸出:

string(1) "a"

注意事項

提示

有幾種方法可以為 PHP 7.3.0 之前的版本提供此功能。可以使用 array_keys(),但效率可能較低。也可以使用 reset()key(),但這可能會改變陣列內部指標。一個有效率的解決方案,不會改變陣列內部指標,寫成 polyfill:

<?php
if (!function_exists('array_key_first')) {
function
array_key_first(array $arr) {
foreach(
$arr as $key => $unused) {
return
$key;
}
return
NULL;
}
}
?>

另請參閱

  • array_key_last() - 取得陣列的最後一個鍵值
  • reset() - 將陣列的內部指標設定為其第一個元素
新增筆記

使用者貢獻的筆記 1 則筆記

MaxiCom dot Developpement at gmail dot com
11 個月前
Polyfill 的目的是將 PHP 新版本中的新功能回溯整合到舊版 PHP 中,確保 API 相容性。

在 PHP 7.3.0 中引入了 array_key_first() 函式,以下範例示範:

<?php

$array
= [
'first_key' => 'first_value',
'second_key' => 'second_value',
];

var_dump(array_key_first($array));

?>

此文件中提供的 polyfill 允許在 PHP 7.3.0 之前的版本(尚未實作此函式)中方便地使用 array_key_first() 並保持 API 相容性。

<?php

if (!function_exists('array_key_first')) {
function
array_key_first(array $arr) {
foreach (
$arr as $key => $unused) {
return
$key;
}
return
null;
}
}

$array = [
'first_key' => 'first_value',
'second_key' => 'second_value',
];

var_dump(array_key_first($array));

?>
To Top