Maison  >  Article  >  développement back-end  >  php学习笔记——简单计算器脚本 php从入门到精通 php学习网站 php100

php学习笔记——简单计算器脚本 php从入门到精通 php学习网站 php100

WBOY
WBOYoriginal
2016-07-29 08:49:061546parcourir

     这次用php实现的内容是:用户输入两个数字,然后选择加减乘除这四个运算符其中的一个或者多个,将计算结果显示出来。

     我的思路是这样的:在HTML中创建表单,其中包括:1.选择框,让用户选择加减乘除运算,选择的结果保存在operation这个数组中;2.文本框,让用户输入要计算的数字,输入的结果保存在num这个数组中;3.提交按钮,提交表单内容。表单用POST方法直接提交给本php页面处理,其中$_POST['operation']存储了运算符信息,$_POST[num']存储了要参与运算的数据。在php脚本里判断运算符,并进行相应计算,将结果保存到$msg的数组中,最后将$msg输出即可。

     好了,直接上代码吧:

     

<?php $result=array();  //用来保存计算结果的数组
$msg=array();     //保存结果消息的数组
$i=0;             //结果的个数
$error="";        //错误消息
if(isset($_POST[&#39;operation&#39;])){    //如果已经选择了运算符
    if((""!=$_POST[&#39;num&#39;][0])&&""!=($_POST[&#39;num&#39;][1])){   //输入文档框内容部位空
    $num1=(double)$_POST[&#39;num&#39;][0];                       //从字符串强制转换成double型的类型数据
    $num2=(double)$_POST[&#39;num&#39;][1];
    foreach($_POST[&#39;operation&#39;] as $op){                   //读取所选择的运算符
        switch($op){                                       //判断运算符属于哪一类
            case &#39;add&#39;:
               $result[$i]=$num1+$num2;                     //加法
               $msg[$i]="$num1"."+"."$num2"."="."$result[$i]";//将完整的算数式保存到消息数组里面     
               $i++;            
               break;
               
            case &#39;sub&#39;:
               $result[$i]=$num1-$num2;                      //减法
               $msg[$i]="$num1"."-"."$num2"."="."$result[$i]";//将完整的算数式保存到消息数组里面 
               $i++;            
               break;
               
            case &#39;mul&#39;:
               $result[$i]=$num1*$num2;                       //乘法
               $msg[$i]="$num1"."*"."$num2"."="."$result[$i]";//将完整的算数式保存到消息数组里面 
               $i++;            
               break;
               
            case &#39;div&#39;:
               if($_POST[&#39;num&#39;][1]!=0){                       //保证被除数不能为0
               $result[$i]=$num1/$num2;                        //除法
               $msg[$i]="$num1"."/"."$num2"."="."$result[$i]"; //将完整的算数式保存到消息数组里面 
               $i++;
               }
               else $error="被除数不能为0\n" ;                //如果除数为0,错误消息有提示       
               break;
             }
        }
    }
    else {                                                    //输入的数字有为空的情况
        if( ""!=$_POST[&#39;num&#39;][0] )              
            $error.="请输入num 1 \n";                         //记录到错误消息中
        if( ""!=$_POST[&#39;num&#39;][1] )
            $error.="请输入num 2 \n"; 
         
        }
}

?>




请选择运算符:



"; echo "计算结果如下:"."
"; foreach($msg as $str) echo $str."
"; echo $error; } ?>

运行界面如下:

php要学哪些,php在线学习,学习php最好的网站,php学习路线图,php,php教程,php从入门到精通,php学习网站,php100

输入  13 ,12

如果运算符全部选择的话:

php要学哪些,php在线学习,学习php最好的网站,php学习路线图,php,php教程,php从入门到精通,php学习网站,php100

    评价和改进:

    经过测试,发现扔存在一些缺陷,比如说:每次输入完数据,提交之后,计算结果是显示出来了,可是页面也被更新了,原先输入的数据就没有了。改进之后的结果应该是这样的:每次提交之后,文本框都保存着上次的记录,复选框不保存。具体的实现呢,就是在文本框设置属性,这个我不是特别熟,现在也懒得去弄它,就先搁一搁吧。

    至于代码的话,php脚本里面用的变量比较多,而消耗内存也相应较大,所以像$result[],$num1,$num2这些变量不被另外脚本调用的话,可以省去;但是为了更好的扩展性,增加功能时不用大幅改变原来代码,留着比较好。

     感兴趣的读者可以到http://www.beartracker.top/server1.php去测试,欢迎指正哦^_^

以上就介绍了php学习笔记——简单计算器脚本,包括了php学习方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn