确定可能关联数组中的第一个键的最佳方法是什么?我首先认为它只是 foreach 数组,然后立即破坏它,如下所示:
foreach ($an_array as $key => $val) break;
因此让 $key 包含第一个键,但这似乎效率低下。谁有更好的解决方案?
最佳答案
从 PHP 7.3 开始,有一个名为 array_key_first()
的新内置函数,它将从给定数组中检索第一个键,而无需重置内部指针。查看 documentation了解更多信息。
您可以使用 reset
和 key
:
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/