加入收藏 | 设为首页 | 会员中心 | 我要投稿 鹰潭站长网 (https://www.0701zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-10-17 04:01:20 所属栏目:PHP教程 来源:互联网
导读: 引言
对于数组遍历,使用一个 foreach 几乎就完全够用了。那么你一般在编写代码的时候,怎么判断是循环的第一个元素,和最后一个元素呢?
本文通过几个示例,展示实现此功能的多种方法。

引言

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

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

php输出格式化数组_php数组转换js数组_PHP数组

学习时间

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

$i = 0;
$len = count($array);
foreach ($array as $item) {
    if ($i == 0) {
        // first
    } else if ($i == $len - 1) {
        // last
    }
    $i++;

}

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

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

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 => $element 两个变量PHP数组,$key 存储循环所指向的索引位置。

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

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

foreach( $items as $item ) {
    if( !prev( $items ) ) {
        echo 'First Item';
    }
    if( !next( $items ) ) {
        echo 'Last Item';
    }
}

写在最后

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

Happy coding :_)

我是 @程序员小助手 ,持续分享编程知识,欢迎关注。

(编辑:鹰潭站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!