为什么我的代码里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 份
- 解答问题 4928 个
想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星