获取数组的第一个元素
我有一个数组:
array( 4 => 'apple', 7 => 'orange', 13 => 'plum' )
我想获得这个数组的第一个元素。 预期结果:string apple
一个要求:通过引用传递不能完成,所以array_shift
不是一个好的解决方案。
我怎样才能做到这一点?
原始答案,但昂贵(O(n)):
array_shift(array_values($array));
在O(1)中:
array_pop(array_reverse($array));
用其他用例的评论建议编辑
如果修改(重置数组指针的意义) $array
不是问题,那么可以使用:
reset($array);
如果需要数组“复制”,这应该在理论上更高效:
array_shift(array_slice($array, 0, 1));
使用PHP 5.4+(但如果为空,可能会导致索引错误):
array_values($array)[0];
正如迈克指出的那样(最简单的方法):
$arr = array( 4 => 'apple', 7 => 'orange', 13 => 'plum' )
echo reset($arr); //echoes "apple"
如果你想获得钥匙:(复位后执行)
echo key($arr); //echoes "4"
从PHP的文档:
混合重置 (array&$ array);
描述:
reset()将数组内部指针回退到第一个元素并返回第一个数组元素的值,如果数组为空,则返回FALSE。
$first_value = reset($array); // First Element's Value
$first_key = key($array); // First Element's Key
希望这可以帮助。 :)
链接地址: http://www.djcxy.com/p/18583.html