• 你好!欢迎你的到来
  • 关于我们
  • 首页 博客 学习笔记 技术导航 工具
  • 博文分类
    • PHP(43)
    • MySQL(11)
    • Linux(28)
    • html(3)
    • JQuery(4)
    • JavaScript(9)
    • svn(2)
    • CSS(2)
    • seajs(1)
    • go(44)
    • redis(1)
    • nginx(8)
    • mongo(0)
    • java(0)
    • 算法(0)
    • 其他(26)
    • 生活(1)
    专栏
    • Jquery基础教程
      • 文章:(15)篇
      • 阅读:37900
    • shell命令
      • 文章:(42)篇
      • 阅读:124082
    • Git教程
      • 文章:(36)篇
      • 阅读:201206
    • leetCode刷题
      • 文章:(76)篇
      • 阅读:83225
    • 摘要视图
    • 目录视图
    PHP取出数组中最后一个元素的方法汇总
    标签: 数组取元素
    2018-01-09 23:43 阅读(4765) 评论(1)

    PHP取出数据组最后一个元素的方法有很多,但不同的方法还是有一定的区别,在此汇总一下常用的方式。

    一、使用索引

    首先取出数组长度,最后一个元素索引为数组长度减一,如下:

    $arr  = ['aaa', 'bbb'];
    $last = $arr[count($arr) - 1];
    echo $last, PHP_EOL;

    如下:

    但是,使用这种方式,当我们没法确保“待处理的数组”一定是一个非空的数组时候,我们还需要做一些额外的判断,否则就会报错,如下:

    处理程序健壮性考虑,我们需要额外的判断

    $last = null;
    if (is_array($arr) && !empty($arr)) {
    $last = $arr[count($arr) - 1];
    }
    echo $last, PHP_EOL;

    备注:该方法取数组最后一个元素,需要添加一些判断。

    二、使用array_pop

    使用array_pop获取数组中最后一个元素,比较简单,如下:

    $last = array_pop($arr);
    echo $last, PHP_EOL;

    且官方手册上面说了,如果 $arr 是空或不是一个数组,将会返回 NULL,也就是说,我们不用特殊处理来避免一些错误。但是如果待处理的数据为非数组,还是会产生 E_WARNING 级别的错误。

    备注:我们需要注意,该方法会将数组中最后一个元素删除掉,即影响原始数组。

    三、使用array_slice

    array_slice方法,是截取数组中的一部分返回,那么我们可以仅仅截取最后一个元素返回即可,如下:

    $last = array_slice($arr, -1, 1)[0];
    var_dump($last);
    echo PHP_EOL;

    若要处理的数据为空或不是一个数组,就会报错,这就需要我们做一些判断。

    备注:该方法取数组最后一个元素,需要添加一些判断。

    四、使用end

    使用end函数也是比较简单的,如下:

    $last = end($arr);
    var_dump($last);
    echo PHP_EOL;

    当$arr为空的时候,则返回false

    若$arr不是一个数组的时候,也是会报错的


    本文为原创文章,请尊重辛勤劳动,如需转载,请保留本文地址
    http://www.findme.wang/blog/detail/id/311.html

    若您感觉本站文章不错,读后有收获,不妨赞助一下?

    我要赞助

    您还可以分享给朋友哦

    更多
    顶
    5
    踩
    0
    • 上一篇: 何如查看一个远程的主机某个端口通不通
    • 下一篇: 利用shell中awk和xargs以及sed将多行多列文本中某一列合并成一行
    • 查看评论
    • 正在加载中...
    • 留言
    • 亲,您还没有登录,登录后留言不需要审核哦!
      可以使用如下方式登录哦!
  • CSDN | 新浪微博 | github | 关于我们 | 我要留言 | 友链申请
  • 豫ICP备18038193号    Copyright ©lidequan All Rights Reserved