发布日期:2018-03-26
如何获取关联数组(Associative Array)第一个元素的键值?+ 查看更多
如何获取关联数组(Associative Array)第一个元素的键值?
+ 查看更多
发布日期:2017-03-27 15:52
分类:PHP
浏览次数:235
获取关联数组(Associative Array)第一个元素的键值的最好方法是什么?我的想法是使用 foreach 遍历数组,并在第一次迭代后立即跳出循环,像这样:
foreach ($an_array as $key => $val) break;
这样得到了第一个元素的键值 $key,但效率很低。有没有更好的解决方案?
回答
你可以使用 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)