一尘不染

获取数组的第一个元素

php

我有一个数组:

array( 4 => 'apple', 7 => 'orange', 13 => 'plum' )

我想获得此数组的第一个元素。预期结果: 字符串 apple

一个要求: 它不能通过引用传递来完成 ,所以array_shift不是一个好的解决方案。

我怎样才能做到这一点?


阅读 900

收藏
2020-05-26

共1个答案

一尘不染

原始答案,但代价昂贵(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];
2020-05-26