bug^君 2009-12-17 12:26 采纳率: 25%
浏览 843
已采纳

获取数组的第一个元素

I have an array:

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

I would like to get the first element of this array. Expected result: string apple

One requirement: it cannot be done with passing by reference, so array_shift is not a good solution.

How can I do this?

转载于:https://stackoverflow.com/questions/1921421/get-the-first-element-of-an-array

  • 写回答

30条回答 默认 最新

  • ℙℕℤℝ 2010-09-22 16:04
    关注

    Original answer, but costly (O(n)):

    array_shift(array_values($array));
    

    In O(1):

    array_pop(array_reverse($array));
    

    Edited with suggestions from comments for other use cases etc...

    If modifying (in the sense of resetting array pointers) of $array is not a problem, you might use:

    reset($array);
    

    This should be theoretically more efficient, if a array "copy" is needed:

    array_shift(array_slice($array, 0, 1)); 
    

    With PHP 5.4+ (but might cause an index error if empty):

    array_values($array)[0];
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(29条)

报告相同问题?

悬赏问题

  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导
  • ¥15 docker模式webrtc-streamer 无法播放公网rtsp
  • ¥15 学不会递归,理解不了汉诺塔参数变化
  • ¥15 基于图神经网络的COVID-19药物筛选研究
  • ¥30 软件自定义无线电该怎样使用