我正在使用开关来测试变量的值
变量$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;
}
答案 0 :(得分:7)
来自 docs
如果您将数字与字符串进行比较或比较涉及数字字符串,则每个字符串都会转换为数字,并且数字会进行比较。这些规则也适用于switch语句。当比较为===或!==时,不会发生类型转换,因为这涉及比较类型和值。
您在比较中放置一个字符串。