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

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

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

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

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


跃然一笑
浏览 493回答 3
3回答

慕桂英3389331

从PHP 7.3开始,有一个新的内置函数array_key_first(),它将从给定数组中检索第一个键而不重置内部指针。查看文档以获取更多信息。你可以使用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)

青春有我

array_keys返回一个键数组。拿第一个条目。或者,您可以调用reset阵列,然后调用key。后一种方法可能稍微快一些(Thoug我没有测试它),但它有重置内部指针的副作用。
打开App,查看更多内容
随时随地看视频慕课网APP