如何在 PHP 循环中区分首项、中间项与末项并分别渲染
发布时间 - 2025-12-25 00:00:00 点击率:次本文介绍如何在 php `foreach` 循环中精准识别数组的首项、中间项(前 n 项)和末项,并将它们分别输出到不同 html 结构中,适用于日历表头等场景。
在构建日历或表格类 UI 时,常需对数组元素做差异化渲染:例如,将一周七天中的前六天(周一至周六)放入
自 PHP 7.3 起,array_key_first() 和 array_key_last() 函数提供了安全、高效获取首尾键的方法。结合 $key => $val 的遍历语法,即可实现精准定位:
$daysOfWeek = ['Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche']; $calendar = ''; foreach ($daysOfWeek as $key => $day) { if ($key === array_key_first($daysOfWeek)) { // 首项(Lundi)——可选处理,此处暂不特殊渲染 $calendar .= "
$day "; } elseif ($key === array_key_last($daysOfWeek)) { // 末项(Dimanche)→ 单独放入 div $calendar .= "$day"; } else { // 中间项(Mardi ~ Samedi)→ 前6项中的其余5项 + 实际需求可扩展 $calendar .= "$day "; } }
⚠️ 注意事项:
- array_key_first() / array_key_last() 要求 PHP ≥ 7.3;若环境低于此版本,可用 key($arr) + end($arr); key($arr) 替代(注意重置内部指针);
- 上述逻辑默认“末项即单独处理”,若明确要求「仅前6项用
,第7项强制进 」,更稳妥的方式是结合 count() 和索引判断: $limit = 6; foreach ($daysOfWeek as $key => $day) { if ($key < $limit) { $calendar .= "$day "; } else { $calendar .= "$day"; } }该方式不依赖键类型(尤其适合数字索引数组),语义清晰,兼容性更好,推荐在多数业务场景中采用。最终生成的 HTML 结构语义明确、易于样式定制与无障碍访问。
# php
# html
# red
# count
# foreach
# 循环
# 指针
# class
# th
# ui
# 遍历
# 适用于
# 并将
# 可选
# 于此
# 暂不
# 而将
# 键值
# 差异化
# 六天
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel定时任务怎么设置_Laravel Crontab调度器配置
如何在阿里云完成域名注册与建站?
Python自动化办公教程_ExcelWordPDF批量处理案例
潮流网站制作头像软件下载,适合母子的网名有哪些?
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
Android自定义listview布局实现上拉加载下拉刷新功能
南京网站制作费用,南京远驱官方网站?
jquery插件bootstrapValidator表单验证详解
电商网站制作价格怎么算,网上拍卖流程以及规则?
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
高防服务器:AI智能防御DDoS攻击与数据安全保障
深圳网站制作培训,深圳哪些招聘网站比较好?
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】
如何实现javascript表单验证_正则表达式有哪些实用技巧
Laravel如何实现API资源集合?(Resource Collection教程)
零基础网站服务器架设实战:轻量应用与域名解析配置指南
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
教你用AI润色文章,让你的文字表达更专业
java ZXing生成二维码及条码实例分享
Laravel如何实现多对多模型关联?(Eloquent教程)
Laravel如何实现数据库事务?(DB Facade示例)
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
大连网站制作公司哪家好一点,大连买房网站哪个好?
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
如何快速生成可下载的建站源码工具?
Python函数文档自动校验_规范解析【教程】
如何基于云服务器快速搭建个人网站?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
,交易猫的商品怎么发布到网站上去?
如何快速搭建FTP站点实现文件共享?
如何注册花生壳免费域名并搭建个人网站?
bootstrap日历插件datetimepicker使用方法
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
JavaScript常见的五种数组去重的方式
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
iOS发送验证码倒计时应用
如何用美橙互联一键搭建多站合一网站?
Swift中switch语句区间和元组模式匹配
Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程
教学论文网站制作软件有哪些,写论文用什么软件
?


','Jeudi','Vendredi','Samedi','Dimanche'];
$calendar = '';
foreach ($daysOfWeek as $key => $day) {
if ($key === array_key_first($daysOfWeek)) {
// 首项(Lundi)——可选处理,此处暂不特殊渲染
$calendar .= "