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

PHP代码修改:东京5晚及以上旅客享200美元折扣实现方案

如何在不修改原有PHP代码的前提下添加东京长住折扣逻辑?

嘿,我来帮你搞定这个需求!首先明确核心要求:原有PHP代码完全不能改,只能新增逻辑;针对「去东京+入住≥5晚」的旅客,每人减200美元;输入1位、5晚、东京时最终金额必须是2575美元,而且必须用嵌套If或者复合布尔表达式实现。

先理清楚前提:能算出最终2575的话,原有代码计算的基础金额肯定是2775美元(2775-200=2575),所以我们的任务就是在原有金额计算完成后,新增折扣判断的逻辑。

下面给你两种符合要求的实现方式:

方式一:复合布尔表达式实现

这种方式用一个条件判断同时验证两个要求,代码更简洁:

// 注意:以下是你需要新增的代码,原有计算基础金额的代码保持不动
$passengerCount = 1; // 输入的旅客数量
$nights = 5; // 输入的入住晚数
$destination = 'Tokyo'; // 输入的目的地

$discount = 0;
// 复合布尔表达式同时判断目的地和入住时长
if ($destination === 'Tokyo' && $nights >= 5) {
    $discount = 200 * $passengerCount;
}

// 用原有代码算出的$baseAmount(此处为2775)减去折扣得到最终金额
$finalAmount = $baseAmount - $discount;
echo $finalAmount; // 输出2575

方式二:嵌套If语句实现

如果必须用嵌套逻辑,这种方式完全符合要求:

// 同样,以下是新增的代码,原有代码不动
$passengerCount = 1;
$nights = 5;
$destination = 'Tokyo';

$discount = 0;
// 第一层判断目的地是否为东京
if ($destination === 'Tokyo') {
    // 第二层判断入住时长是否≥5晚
    if ($nights >= 5) {
        $discount = 200 * $passengerCount;
    }
}

$finalAmount = $baseAmount - $discount;
echo $finalAmount; // 输出2575

两种方案都满足所有要求:没有触碰原有代码,分别用了复合布尔表达式和嵌套If逻辑,输入指定参数时能准确输出2575美元。你可以根据实际场景选择其中一种即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:49:17