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

PHP数值增长计算与人数计费代码修正需求

修正阶梯式费用计算的代码

首先,你的原代码逻辑没实现阶梯收费的需求——当人数超过3时直接用总人数乘50,这和你想要的「基础3人每人50美元,超出部分每人额外加收10美元」的逻辑完全不符。我来帮你调整代码:

明确计算逻辑

先把收费规则转化为清晰的公式:

  • 当人数 ≤3 时:按你原代码的逻辑输出0(如果实际需求是哪怕人数不足3也收基础的150美元,直接把else里的'0'改成150就行)
  • 当人数 >3 时:总费用 = 3人基础费用 + 超出人数的阶梯费用
    • 基础费用:3 × 50 = 150 美元
    • 超出部分:每多1人额外加收10美元,也就是超出人员的单价比基础多10(即每人60美元);如果你是指「在基础150美元之上,每多1人加10美元」,公式会不一样,我先按你描述的规则写。

修正后的代码

for ($i=0; $row=sql_fetch_array($result); $i++) {
    $standard = 50; // 数字直接用数值类型,不需要加引号
    $person_count = $row['person'];
    if ($person_count > 3) {
        // 基础3人费用 + 超出部分的阶梯费用
        $person_calculate = (3 * $standard) + ($person_count - 3) * ($standard + 10);
        echo $person_calculate;
    } else {
        // 若人数≤3时需收基础150美元,替换'0'为150即可
        echo '0';
    }
}

验证示例

比如当人数是6时:
(3×50) + (6-3)×(50+10) = 150 + 3×60 = 330 美元,完全符合阶梯收费逻辑。

如果你的实际需求是「基础150美元,每多1人额外加10美元」(即超出部分每人只收10美元),把公式改成下面这样就行:

$person_calculate = (3 * $standard) + ($person_count - 3) * 10;

此时6人的费用是 150 + 3×10 = 180 美元,你可以根据业务需求自行选择。

小优化建议

  • 把$row['person']赋值给$person_count变量,代码更易读;
  • 如果需要输出规范的美元格式(保留两位小数),可以用number_format($person_calculate, 2)替代直接echo,比如echo number_format($person_calculate, 2);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:33:58