前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >3分钟短文 | PHP 遍历数组,怎么锁定第一个和最后一个元素?

3分钟短文 | PHP 遍历数组,怎么锁定第一个和最后一个元素?

作者头像
程序员小助手
发布2020-07-14 15:19:11
2K0
发布2020-07-14 15:19:11
举报
文章被收录于专栏:程序员小助手程序员小助手

引言

对于数组遍历,使用一个 foreach 几乎就完全够用了。那么你一般在编写代码的时候,怎么判断是循环的第一个元素,和最后一个元素呢?

本文通过几个示例,展示实现此功能的多种方法。

学习时间

首先,我们使用最直接,最容易想到的办法,使用一个计数器 i 用于标记当前的索引位置。如果是第一个,则 i == 0;如果是最后一个,则

代码语言:javascript
复制
$i = 0;
$len = count($array);
foreach ($array as $item) {
    if ($i == 0) {
        // first
    } else if ($i == $len - 1) {
        // last
    }
    $i++;
}

上述代码实现简单直接,但是写的优点太长了,而且也不美观。有没有更优雅一些的方式呢?

我们试着从PHP数组操作函数上着手,内置函数中提供了 reset,用于将指针指向数组的第一个元素;end 函数,将指针指向数组的最后一个元素。下面的代码,就是这样实现的:

代码语言:javascript
复制
foreach($array as $key => $element) {
    reset($array);
    if ($key === key($array))
        echo 'FIRST ELEMENT!';

    end($array);
    if ($key === key($array))
        echo 'LAST ELEMENT!';
}

函数 key() 用于获取当前数组指针所指向的索引值。

而 foreach 循环内将元素匹配到 key =>

PHP 的数组操作函数为我们提供了思路,那么当然还可以用 prev 函数,返回前一个元素的值;使用 next 函数,获取下一个元素的值。

这两个函数都是在获取不到元素时返回 false。那么代码就可以这样来写了:

代码语言:javascript
复制
foreach( $items as $item ) {

    if( !prev( $items ) ) {
        echo 'First Item';
    }

    if( !next( $items ) ) {
        echo 'Last Item';
    }
}

写在最后

本文通过三种方式实现了定位 foreach 循环体内,第一个元素和最后一个元素的方法。希望大家熟练使用。

Happy coding :_)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员小助手 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 学习时间
  • 写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档