php - 获取(可能)关联数组中的第一个键?

确定可能关联数组中的第一个键的最佳方法是什么?我首先认为它只是 foreach 数组,然后立即破坏它,如下所示:

foreach ($an_array as $key => $val) break;

因此让 $key 包含第一个键,但这似乎效率低下。谁有更好的解决方案?

最佳答案

2019 年更新

PHP 7.3 开始,有一个名为 array_key_first() 的新内置函数,它将从给定数组中检索第一个键,而无需重置内部指针。查看 documentation了解更多信息。


您可以使用 resetkey :

reset($array);
$first_key = key($array);

它与您的初始代码基本相同,但开销更少,而且发生的情况更明显。

记得调用reset,否则你可能会得到数组中的任何键。您也可以使用end而不是 reset 来获取最后一个键。

如果您希望键获取第一个值,reset 实际上会返回它:

$first_value = reset($array);

有一个特殊情况需要注意(所以先检查数组的长度):

$arr1 = array(false);
$arr2 = array();
var_dump(reset($arr1) === reset($arr2)); // bool(true)

https://stackoverflow.com/questions/1028668/

相关文章:

php - 绕过 mysql_real_escape_string() 的 SQL 注入(injec

php - 如何在 PHP 中去除字符串中的所有空格?

php - 将 PHP 对象转换为关联数组

php - 如何使用 PHP 发送 POST 请求?

php - PHP中的die()和exit()有什么区别?

php - 如果文件夹不存在,则创建一个文件夹

php - 用于 MySQL 和 PHP 的最佳排序规则是什么?

php - 如何使用 PHP 计算两个日期之间的差异?

php - 如何在 PHP 中获取文件的扩展名?

php - 从分隔字符串中删除尾随分隔字符