Heim  >  Artikel  >  Backend-Entwicklung  >  php学习笔记——简单计算器脚本 php从入门到精通 php学习网站 php100

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

WBOY
WBOYOriginal
2016-07-29 08:49:061546Durchsuche

     这次用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教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn