文章详情页
为什么我的switch自动输出了第一个case?
问题描述
<form action="" method="get"> <label for="score">请输入成绩:</label><input type="number" id="score" name="score" max="100" value=""> <button>提交</button></form>
$init = $_GET['score'];switch($init){ case $init >=90 : echo '<p>厉害了,我的学霸!</p>'; break; case $init >=80 : echo '<p>再接再厉,努力吧!</p>'; break; case $init >=70 : echo '<p>差太多啦!得加油赶上了!!</p>'; break; case $init >=60 : echo '<p>建议你留级吧!!</p>'; break; default:break;}
明明还没有向form传参,怎么把第一个case输出了呢?这个时候$init变量是空的呀,怎么会判断成功呢??这是怎么回事呢??
问题解答
回答1:如果什么也不输入就提交的话,那么提交的值就是空,空不符合任何switch条件,所以它会从第一个CASE开始执行,直到遇到break才会停止
相关文章:
1. node.js - vue-cli构建报错。。。生成不了模板,求解~!!2. css3动画 - 实现css3推倒动画3. javascript - 微信小程序 wx.downloadFile下载文件大小有限制吗4. html5 - HTML代码中的文字乱码是怎么回事?5. css - 前端flex布局嵌套内层的布局不起作用?6. javascript - 如何通过参数获取Object的子节点?7. python3.5 urllib.parse.unquote 乱码8. html按键开关如何提交我想需要的值到数据库9. android - 求 360浏览器 百度浏览器 搜狗浏览器的最新启动类名10. css - ul ol前边的标记如何调整样式呢
排行榜