为什么我的代码里case为false的选项无法输出?
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>DDDoument</title> </head> <body> <h1>差分机(雾)</h1> <form action="#" method="post"> 数值1:<input type="text" name="num1" value=""> <select class="" name="op"> <option value="+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> <option value="%">%</option> </select> 数值2:<input type="text" name="num2" value=""> <input type="submit" name="act" value="提交"> </form> <?php error_reporting(E_ALL^E_NOTICE); $act=$_POST['act']; if ($act) { $num1=$_POST['num1']; $num2=$_POST['num2']; $op=$_POST['op']; $is_number=is_numeric($num1)&&is_numeric($num2); var_dump($is_number); echo "<br/>"; switch($is_number) { case 'ture': switch ($op) { case '+': $res=$num1+$num2; break; case '-': $res=$num1-$num2; break; case '*': $res=$num1*$num2; break; //除法计算 case '/': switch ($num2) { case '0': exit('非法操作数'); break; default: settype($num1,'double'); settype($num2,'double'); settype($res,'double'); $res=$num1/$num2; break; } case '%': $res=$num1%$num2; break; default: echo "非法操作"; break; } echo "显而易见:<br/>","{$num1}{$op}{$num2}={$res}"; break; //当输入的字符不是数值型时 case 'false': echo "非法操作数"; break; } } ?> </body> </html>
1
收起
正在回答 回答被采纳积分+1
4回答
ggplot2
2018-10-15 17:46:51
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>DDDoument</title> </head> <body> <h1>差分机(雾)</h1> <form action="#" method="post"> 数值1:<input type="text" name="num1" value=""> <select class="" name="op"> <option value="+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> <option value="%">%</option> </select> 数值2:<input type="text" name="num2" value=""> <input type="submit" name="act" value="提交"> </form> <?php error_reporting(E_ALL^E_NOTICE); $act=$_POST['act']; if ($act) { $num1=$_POST['num1']; $num2=$_POST['num2']; $op=$_POST['op']; if(is_numeric($num1)&&is_numeric($num2)) { switch ($op) { case '+': $res=$num1+$num2; break; case '-': $res=$num1-$num2; break; case '*': $res=$num1*$num2; break; case '/': // switch ($num2) { // case '0': // exit('非法操作数'); // break; // default: // $res=doubleval($num1)/$num2; // break; // // } if($num2==0){ exit('非法操作数'); } else{ $res=(double)$num1/$num2; } case '%': $res=$num1%$num2; break; default: echo "非法操作"; break; } echo "显而易见:<br/>","{$num1}{$op}{$num2}={$res}"; //当输入的字符不是数值型时 } else { echo "非法操作数"; } } ?> </body> </html>
改了一下之后除法运算依然无法输出小数
PHP小白零基础入门
- 参与学习 人
- 提交作业 626 份
- 解答问题 4930 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星