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;
}
}
?>

参见

添加笔记

用户贡献笔记 2 笔记

1
MaxiCom dot Developpement at gmail dot com
8 个月前
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 之前版本的 PHP 中方便地使用 array_key_first(),在这些版本中该函数尚未实现

<?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));

?>
-22
匿名
11 个月前
为 array_key_first 提供 polyfill 的最佳方式是

$first_key = array_keys($array)[0] ?? NULL;
To Top