获取(可能)关联数组中的第一个键?确定可能关联数组中第一个键的最佳方法是什么?我第一次认为它只是预先处理数组,然后立即打破它,如下所示:foreach ($an_array as $key => $val) break;因此,让$ key包含第一个键,但这似乎效率低下。有没有人有更好的解决方案?
3 回答
![?](http://img1.sycdn.imooc.com/545865890001495702200220-100-100.jpg)
慕桂英3389331
TA贡献2036条经验 获得超8个赞
从PHP 7.3开始,有一个新的内置函数array_key_first()
,它将从给定数组中检索第一个键而不重置内部指针。查看文档以获取更多信息。
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)
![?](http://img1.sycdn.imooc.com/545845d30001ee8a02200220-100-100.jpg)
青春有我
TA贡献1784条经验 获得超8个赞
array_keys
返回一个键数组。拿第一个条目。或者,您可以调用reset
阵列,然后调用key
。后一种方法可能稍微快一些(Thoug我没有测试它),但它有重置内部指针的副作用。
- 3 回答
- 0 关注
- 492 浏览
添加回答
举报
0/150
提交
取消