【发布时间】:2017-12-28 13:16:44
【问题描述】:
我正在使用开关来测试变量的值。
变量$sizeTotal 可以包含字符串或数字。在下面的示例中,我希望开关触发默认情况。
但是,每次都是第一个案例,我不知道为什么......
$sizeTotal = "test";
$extraCharges['2'] = 1000;
switch ($sizeTotal) {
case ($sizeTotal < $extraCharges['2']):
$var = 40;
return $var;
case ($sizeTotal >= $extraCharges['2']):
$var = 60;
return $var;
default:
$var = 1000;
return $var;
}
【问题讨论】:
-
你用错了switch语句,它是用来检查一个变量的单个值,而不是一个条件。您可能想要使用能够检查条件的 else-if 构造。 php.net/manual/en/control-structures.switch.php
-
字符串被转换为 0 并且 0 小于 1000。这就是为什么你的第一个条件为真。
标签: php switch-statement