老师我用switch写结果老师除以的结果

来源:1-15 简易计算器的实现

小西西西西西西

2017-06-22 16:18:13

<!DOCTYPE html>

<html>

  <head>

    <meta charset="utf-8">

    <title>计算器</title>

  </head>

  <body>

<form class="" action="#" method="post">

  num1:<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>

num2:<input type="text" name="num2" value="">

<hr />

<input type="submit" name="act" value="计算">

</form>

<?php

ini_set("display_errors", "Off");

//判断用户是否点击按钮

$act=$_POST['act'];

//接受数据

switch ($act) {

  case $num1=$_POST['num1'];

  case $num2=$_POST['num2'];

  case $op=$_POST['OP'];

//判断num1和num2是否为数值

  case 'is_numeric($num1)&&is_numeric($num2)';

    break;

  case $op=='+';

  case $res=$num1+$num2;

  break;

  case $op=='-';

  case $res=$num1-$num2;

  break;

  case $op=='*';

  case $res=$num1*$num2;

  break;

  case $op=='/';

  case $res=$num1/$num2;

  break;

 default;

 echo "运算结果为:<br/>{$num1}{$op}{$num2}={$res}";

}


 ?>


  </body>

</html>


写回答

1回答

imooc_澈

2017-06-22

您好,用switch的方式来实现的思路并没有错,但是代码中switch的使用方式出现了问题,这里的switch用于对它后面()里面的值进行判断,如果为真进入函数体,case后面的值应该是switch后面()内的参数可能值的例举,此处正确的逻辑应该为:

1 if判断是否点击了提交按钮

2 在if判断里面接收$_POST数据,判断$num1和$num2是否为数字,如果不是,终止。如果是,往下继续执行switch判断

3 case 例举“+,-,*,/,%”五钟情况,如果是“+”,则执行输出$num1+$num2,是“*”,则执行输出$num1*$num2,依此类推。


0

0 学习 · 2569 问题

查看课程