php - 我得到的输出与我对以下任务的期望不同
问题描述
当我使用 0 作为输入时,它会输出 100 到 200 之间的值。对于其他值,它可以正常工作。有人可以解释一下为什么会这样吗?
<?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";
}
解决方案
您不能在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";
}
推荐阅读
- python - 将包含表格的 html 文件列表解析为 Excel 工作表
- python - 如果大于 0 或小于 0,则对数据框列求和
- sqlite - SQLite 对 group by 的意外重复值
- javascript - 使用 mysql 和 node.js 的自定义前缀
- c++ - 套接字选项 SO_BSP_STATE 失败并显示 WSAEFAULT
- python - 如何检查熊猫数据框中的每一列是浮点数还是可以转换为整数
- discord.py - 如何修复“git push heroku master”?
- python - 如何添加 TSI 范围与资源特定范围相结合
- azure-devops - 如何在与 YAML 管道所在的不同 Azure 存储库上创建 CI 触发器?
- html - 加载时的正文不适用于 jquery