php foreach循环获取第一个和最后一个元素,怎么做?
引言
对于数组遍历,使用一个 foreach 几乎就完全够用了。那么你一般在编写代码的时候,怎么判断是循环的第一个元素,和最后一个元素呢?
本文通过几个示例,展示实现此功能的多种方法。
学习时间
首先,我们使用最直接,最容易想到的办法,使用一个计数器 $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 两个变量,$key 存储循环所指向的索引位置。
PHP 的数组操作函数为我们提供了思路,那么当然还可以用 prev 函数,返回前一个元素的值;使用 next 函数,获取下一个元素的值。
这两个函数都是在获取不到元素时返回 false。那么代码就可以这样来写了:
foreach( $items as $item ) { if( !prev( $items ) ) { echo 'First Item'; } if( !next( $items ) ) { echo 'Last Item'; } }
写在最后
本文通过三种方式实现了定位 foreach 循环体内,第一个元素和最后一个元素的方法。希望大家熟练使用。
Happy coding :_)
我是 @程序员小助手 ,持续分享编程知识,欢迎关注。
循环的目的是为了什么?为什么不直接取第一个和最后一个?
array_pop(数组) 返回数组最后一个元素
array_recerse(数组) 反转数组
array_pop(数组) 返回原数组第一个元素
或者
$arr = array_values(数组);
$len = count($arr);
$arr[0] 第一个元素值
$arr[$len - 1] 最后一个元素值
前端开发怎么入门?
随着互联网行业的快速发展,也让前端开发变得火热,web前端得到了越来越多的企业青睐和需求,而且由于IT行业相对于其它行业的高待遇,让越来越多的人想要进入到前端,那么web前端怎么样入门呢?
想要进入前端行业,首先要了解的是web前端工程师都需要会什么呢?那么这些知识点就是我们在学习过程中需要进行学习的,web前端所需要的知识点主要是要精通HTML、CSS、JavaScript,而且是都要精通不只是掌握就行,必须要将他们三个都非常理解。这样你才能去完成自己的工作。其它例如后端的一些程序,界面设计等等也是需要在工作中掌握的。
接下来就和大家简单分享一下web前端需要学习的内容:
HTML:HTML成为超文本标记语言,是一种标记语言,可以说不算是一种程序语言,仅仅是标记语言。主要是通过一系列的标签,将网络上的文档格式进行统一。
CSS(Cascading Style Sheets):是一种用来表现HTML的计算机语言,不仅可以修饰网页,还可以配合各种脚本语言对网站元素进行格式化。
JavaScript:简称JS,是一种具有函数优先级的编程语言,主要是作为开发web页面的脚本语言,也是学习web前端相对较难的一部分。
以上就是进入web前端行业所学的内容,首先要开始学习的内容就是html和css,一定要将学习和练习同时进行,不要觉得简单就不去练习,只有通过自己亲手的操作,才可以让自己理解吸收掉所学习的知识,在学习JS的时候,首先要了解这个语言是做什么的,可以做什么。而且你要做的不简单是将函数记住,而是需要了解JS的原理和机制,只有这样才能在这条路上走得更远。
2020前端学习路线:
建议你跟着黑马程序员web前端中级程序员学习路线图来学习,含配套视频,前端工具,源码等。
黑马程序员学习路线图及能掌握的能力(总,以下会分阶段,加上配套学习视频,小伙伴可继续往下看!)
第一阶段:HTML5+css
第二阶段:移动web网页开发
第三阶段:JavaScript网页编程
第四阶段:Node.js与Ajax
第五阶段:vue.js项目实战
第六阶段:微信小程序
第七阶段:React.js项目实战
第八阶段:框架阶段与原理
第九阶段:移动APP开发
第十阶段:node.js进阶
第十一阶段:可视化游戏
第十二段阶段:架构与运维
关注私信获取视频哦!
前端技术一般分为前端设计和前端开发,前端设计一般可以理解为网站的视觉设计,前端开发则是网站的前台代码实现。入门的话还是比较简单的。现在网上的学习视频也特别多,可以选择适合的,有质量的入门视频学习。前端相对其他编程语言来说也是比较简单的,而且入门的像h5,css3,js也是很简单的。这三个是前端开发中最基本也是最必须的三个技能。
零基础的话,推荐你可以去看看北京尚学堂的前端基础入门课程。特别适合小白,而且是结合项目学习的。我有很多朋友都在学,他们也看的这套教程,比较推荐。而且是免费的干货满满,你可以去看一下。