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

PHP使用foreach遍历价格数据时如何跳过0值且保留原有编号

实现方法

核心逻辑是遍历过程中不管价格是否需要展示,序列编号都按照原有顺序累计,仅跳过值为0的价格的输出步骤,两种常用写法如下:

写法1:直接使用数组原始索引生成编号(适用于默认0起始的连续索引数组)

<?php
// 示例原始价格数组
$prices = [0, 100, 200, 300];

echo 'price' . PHP_EOL;
// 遍历同时获取数组下标和价格值
foreach ($prices as $index => $price) {
    $no = $index + 1;
    // 价格为0直接跳过本次输出
    if ($price === 0) {
        continue;
    }
    echo "No.{$no} = {$price}" . PHP_EOL;
}
?>

写法2:独立计数器生成编号(适用于所有数组索引场景)

<?php
$prices = [0, 100, 200, 300];
$no = 1;

echo 'price' . PHP_EOL;
foreach ($prices as $price) {
    if ($price !== 0) {
        echo "No.{$no} = {$price}" . PHP_EOL;
    }
    // 无论是否输出,编号都自增,保证和原有顺序一致
    $no++;
}
?>

两种写法运行后都会输出你需要的预期结果:

price
No.2 = 100
No.3 = 200
No.4 = 300

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 06:24:04