php中带有多个条件的if语句

2024-01-09

我有多个条件的 if 语句,
这两个条件有什么区别:
1.

    if($province=="AB" || "NT" || "NU" || "YT")
{
    $GST=5;
}
else if($province=="BC" || "MB")
{
    $GST=5;
    $PST=7;
}
else if($province=="NB" || "NF" || "ON")
{
    $HST=13;
}  

第二个是:
2.

if($province=="AB" || $province=="NT" || $province=="NU" || $province=="YT")
{
    $GST=5;
}
else if($province=="BC" || $province=="MB")
{
    $GST=5;
    $PST=7;
}
else if($province=="NB" || $province=="NF" || $province=="ON")
{
    $HST=13;
}

两者之间的区别在于,第一个不会按预期工作,而第二个在技术上是正确的。

代码:

if($province=="AB" || "NT" || "NU" || "YT")

将始终评估为 true 并执行该条件块中的代码。

原因是因为你只检查是否$province == "AB"然后你检查是否"NT" == true这将评估为 true。

要根据所有这些值(AB、NT、NU、YT)检查省份,您需要明确检查$province针对每个值,而不仅仅是第一个值,这就是您在第二个示例中正确执行的操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php中带有多个条件的if语句 的相关文章

随机推荐