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

确定可能关联数组中的第一个关键点的最佳方法是什么?我的第一个想法是,只需打开阵列,然后立即将其打破,如下所示:

foreach(_数组为$key=>$val)break;

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

2019年更新

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


您可以使用重置

重置($array);
$first_key=key($array);

它本质上与您的初始代码相同,但开销稍小,而且发生的事情更明显

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

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

$first\u value=reset($array);

但有一种特殊情况需要注意(因此首先检查数组的长度):

$arr1=数组(false);
$arr2=数组();
变量转储(重置($arr1)==重置($arr2));//布尔(真)

发表评论