我从以下任务中获得了与预期不同的输出

时间:2019-04-04 13:36:40

标签: php switch-statement conditional-statements

当我使用0进行输入时,它会向我输出100到200之间的值。使用其他值可以正常工作。有人可以解释我为什么会这样吗?

http://prntscr.com/n7fzcy

<?php

$num = intval(readline());

switch ($num) {
    case $num < 100:
        echo "Less than 100";
        break;
    case $num >= 100 && $num <= 200:
        echo "Between 100 and 200";
        break;
    default:
        echo "Greater than 200";
}

1 个答案:

答案 0 :(得分:1)

您不能在switch case语句中使用任何逻辑运算符<,>,!=,=,==....。

使用简单的if else条件:

   $num = intval(readline());

    if($num < 100){
        echo "Less than 100";
    }else if($num >= 100 && $num <= 200){
        echo "Between 100 and 200";
    }else{
        echo "Greater than 200";
    }