【问题标题】:I get a different output from what I expect from the following task我得到的输出与我对以下任务的期望不同
【发布时间】:2019-08-26 07:03:40
【问题描述】:

当我使用 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";
}

【问题讨论】:

  • 不能使用逻辑运算符 ,!=,=,== .... in case 语句
  • 你需要使用if声明

标签: php switch-statement conditional-statements


【解决方案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";
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-24
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-25
    • 2015-12-01
    • 2021-02-03
    相关资源
    最近更新 更多