切换案例忽略php中的条件

时间:2017-12-28 13:16:44

标签: php switch-statement

我正在使用开关来测试变量的值 变量$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;
}

1 个答案:

答案 0 :(得分:7)

来自 docs

  

如果您将数字与字符串进行比较或比较涉及数字字符串,则每个字符串都会转换为数字,并且数字会进行比较。这些规则也适用于switch语句。当比较为===或!==时,不会发生类型转换,因为这涉及比较类型和值。

您在比较中放置一个字符串。