You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

循环中获取最后n组数字,为每行4元素的末行元素加类

通用实现:获取循环中最后一行的元素序号

嘿,我太懂你现在的困扰了——写一大堆switch case来逐个判断总数量对应的末行元素,不仅代码冗余,还没法覆盖所有可能的$count值对吧?咱们直接搞个通用的计算逻辑,一次性解决这个问题!

核心思路

咱们先理清楚规律:每行固定4个元素,最后一行的元素序号其实是从「前面完整行之后的第一个序号」开始,到总数量$count结束。具体计算步骤如下:

  • 计算前面有多少完整的行:用 ($count - 1) // 4(整数除法,自动去掉余数),得到的是从0开始计数的完整行数。
  • 算出最后一行的起始序号:完整行数 * 4 + 1
  • 用起始序号到$count生成连续数组,就是最后一行的所有元素序号

代码实现(PHP)

$count = 7; // 替换成你的总元素数量
$perRow = 4; // 每行元素数,以后要改行数直接改这里

// 计算最后一行的起始序号
$start = ((int)(($count - 1) / $perRow)) * $perRow + 1;
// 生成最后一行的元素序号数组
$items = range($start, $count);

// 验证输出(可选)
print_r($items);

验证几个场景

咱们拿你原来的case测试一下:

  • 当$count=8时,输出[5,6,7,8],和你原来的case一致
  • 当$count=5时,输出[5],正确
  • 当$count=11时,输出[9,10,11],正确
  • 当$count=13时,输出[13],正确

额外优势

这个方法完全通用:

  • 不管$count是多大的数字,都能正确计算
  • 如果以后要改成每行5个、6个元素,只需要修改$perRow的值就行,不用动逻辑代码

内容的提问来源于stack exchange,提问作者Amin Abdolrezapoor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:05:50