我有多个条件的 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(使用前将#替换为@)