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() - 将数组的内部指针指向第一个单元

User Contributed Notes 2 notes
Vee W. ¶
1 year ago
Another way to get first array key with PHP older than 7.3.
<?php
$array = ['one', 'two', 'three'];
$array2 = ['one' => 'Number one', 'two' => 'Number two'];
reset($array);// go to first array
echo key($array);// get its key (first array)
// expect 0.
reset($array2);
echo key($array2);
// expect one.
github.com / ahsankhatri ¶
1 year ago
One-liner polyfill (php version < 7.3.0)
<?php
function array_key_first(array $array)
{
return key(array_slice($array, 0, 1));
}
备份地址:http://www.lvesu.com/blog/php/function.array-key-first.php