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

如何将变量与多个值比较?现有PHP条件判断代码异常求助

问题分析与解决方案

原代码的逻辑错误

你写的条件判断逻辑存在问题:使用<>(不等于)和or(逻辑或)组合时,无论$country取什么值,条件都会成立。比如当$country是"Belgique"时,它不等于"Luxembourg",第二个条件为真,整个表达式结果为真,错误提示会被错误触发。

正确实现方式

方式一:用数组+in_array函数(推荐,易维护)

把允许的国家存入数组,通过in_array判断变量是否在数组内,取反即可实现需求:

$allowed_countries = ["Belgique", "Luxembourg", "France", "Pays-bas"];
if (!in_array($country, $allowed_countries)) {
    echo "The country variable is not in the list ";
}

方式二:修正原逻辑(使用&&逻辑与)

如果要保留类似原代码的写法,需要把or换成&&(逻辑与),确保只有当$country同时不等于所有指定国家时才触发错误:

else if ($country <> "Belgique" && $country <> "Luxembourg" && $country <> "France" && $country <> "Pays-bas") {
    echo "The country variable is not in the list ";
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 19:33:26