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

PHP倒序遍历过滤后数组如何按0/300/600循环规则加增量值

实现方案

核心思路

  • 新增一个专属计数器,仅在匹配到enable=true的有效元素时才自增
  • 利用计数器对3取模的结果乘以300,即可得到对应增量值,天然满足每3个元素循环一次的规则
  • 原有的倒序遍历、无效元素过滤逻辑保持不变

完整可运行代码

$arr = array(
    [
        'id' => '141',
        'text' => 'Abigail',
        'enable' => true
    ],
    [
        'id' => '142',
        'text' => 'Bernadette',
        'enable' => true
    ],
    [
        'id' => '143',
        'text' => 'Felicity',
        'enable' => false
    ],
    [
        'id' => '144',
        'text' => 'Irene',
        'enable' => true
    ],
    [
        'id' => '145',
        'text' => 'Rachel',
        'enable' => true
    ],
    [
        'id' => '146',
        'text' => 'Sally',
        'enable' => true
    ],
    [
        'id' => '147',
        'text' => 'Victoria',
        'enable' => false
    ]
);

// 有效元素计数器,初始为0
$validCount = 0;
foreach (array_reverse($arr) as $value) {
    if (!$value['enable']) {
        continue;
    }
    // 计算增量:第1个0,第2个300,第3个600,循环往复
    $increment = ($validCount % 3) * 300;
    // 可按需将增量存入元素字段,此处直接输出演示效果
    echo $value['id'].' --- '.$value['text'].' --- 增量值:'.$increment;
    echo "<br>";
    // 有效元素计数+1
    $validCount++;
}

运行结果说明

按照示例数组倒序遍历过滤后,有效元素的顺序和对应增量如下:

  • Sally(id=146):增量0
  • Rachel(id=145):增量300
  • Irene(id=144):增量600
  • Bernadette(id=142):增量0
  • Abigail(id=141):增量300

内容的提问来源于stack exchange,提问作者Arpico ICT

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:36:04