今回 PHP で実装されるのは、ユーザーが 2 つの数値を入力し、加算、減算、乗算、除算の 4 つの演算子から 1 つ以上を選択して計算結果を表示するというものです。
私のアイデアは次のとおりです。次のようなフォームを HTML で作成します。 1. ユーザーが加算、減算、乗算、除算の演算を選択できるようにする選択ボックス。選択した結果は演算配列に保存されます。ユーザーが必要な値を入力できるようにします。計算された数値と入力結果は num 配列に保存されます。 3. フォームの内容を送信するための「送信」ボタン。フォームは、POST メソッドを使用して処理するためにこの PHP ページに直接送信されます。$_POST['operation'] にはオペレーター情報が格納され、$_POST[num'] には操作に参加するデータが格納されます。 PHP スクリプトで演算子を決定し、対応する計算を実行し、結果を $msg の配列に保存し、最後に $msg を出力します。
それでは、コードに直接進みましょう:
<?php $result=array(); //用来保存计算结果的数组 $msg=array(); //保存结果消息的数组 $i=0; //结果的个数 $error=""; //错误消息 if(isset($_POST['operation'])){ //如果已经选择了运算符 if((""!=$_POST['num'][0])&&""!=($_POST['num'][1])){ //输入文档框内容部位空 $num1=(double)$_POST['num'][0]; //从字符串强制转换成double型的类型数据 $num2=(double)$_POST['num'][1]; foreach($_POST['operation'] as $op){ //读取所选择的运算符 switch($op){ //判断运算符属于哪一类 case 'add': $result[$i]=$num1+$num2; //加法 $msg[$i]="$num1"."+"."$num2"."="."$result[$i]";//将完整的算数式保存到消息数组里面 $i++; break; case 'sub': $result[$i]=$num1-$num2; //减法 $msg[$i]="$num1"."-"."$num2"."="."$result[$i]";//将完整的算数式保存到消息数组里面 $i++; break; case 'mul': $result[$i]=$num1*$num2; //乘法 $msg[$i]="$num1"."*"."$num2"."="."$result[$i]";//将完整的算数式保存到消息数组里面 $i++; break; case 'div': if($_POST['num'][1]!=0){ //保证被除数不能为0 $result[$i]=$num1/$num2; //除法 $msg[$i]="$num1"."/"."$num2"."="."$result[$i]"; //将完整的算数式保存到消息数组里面 $i++; } else $error="被除数不能为0\n" ; //如果除数为0,错误消息有提示 break; } } } else { //输入的数字有为空的情况 if( ""!=$_POST['num'][0] ) $error.="请输入num 1 \n"; //记录到错误消息中 if( ""!=$_POST['num'][1] ) $error.="请输入num 2 \n"; } } ?>"; echo "计算结果如下:"."
実行中のインターフェイスは次のとおりです:
すべての演算子が選択されている場合:
テストの結果、各データの入力と送信後に計算結果が表示されるが、ページも更新され、最初に入力されたデータが失われるなど、いくつかの欠陥があることが判明しました。改善された結果は次のようになります。送信するたびに、テキスト ボックスは最後のレコードを保存しますが、チェック ボックスは保存されません。具体的な実装は、テキスト ボックスにプロパティを設定することです。これについてはあまり詳しくありませんし、今それを行うのが面倒なので、今は置いておきます。 コードに関しては、PHPスクリプト内で使用される変数が多く、その分メモリ消費も大きいため、$result[]、$num1、$num2などの変数が他のスクリプトから呼び出されていなければ、省略しても構いませんが、拡張性を高めるために、元のコードを大幅に変更する必要はありません。 興味のある読者は http://www.beartracker.top/server1.php にアクセスしてテストしてください ^_^
上記では、PHP 学習ノート - PHP 学習コンテンツを含む簡単な計算スクリプトを紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。