이번에 PHP에서 구현한 것은 사용자가 두 개의 숫자를 입력한 후 덧셈, 뺄셈, 곱셈, 나눗셈의 4가지 연산자 중 하나 이상을 선택하여 계산 결과를 표시하는 것입니다.
내 생각은 다음과 같습니다. 다음을 포함하여 HTML로 양식을 만듭니다. 1. 사용자가 덧셈, 뺄셈, 곱셈 및 나눗셈 연산을 선택할 수 있고 선택한 결과가 연산 배열에 저장됩니다. . 텍스트 상자, 사용자가 계산할 숫자를 입력하고 입력 결과가 숫자 배열에 저장됩니다. 3. 양식 내용을 제출하는 제출 버튼. 양식은 POST 메소드를 사용하여 처리하기 위해 이 PHP 페이지에 직접 제출됩니다. 여기서 $_POST['작업']은 운영자 정보를 저장하고 $_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"; } } ?>
실행 인터페이스는 다음과 같습니다:
13, 12를 입력
모든 연산자를 선택한 경우:
평가 및 개선:
합격 테스트 결과 일부 결함이 있는 것으로 확인되었습니다. 예를 들어 매번 데이터를 입력하고 제출한 후 계산 결과가 표시되었지만 페이지도 업데이트되어 원래 입력한 데이터가 사라졌습니다. 개선된 결과는 다음과 같습니다. 제출할 때마다 텍스트 상자에 마지막 기록이 저장되지만 확인란은 저장되지 않습니다. 구체적인 구현은 텍스트 상자에 속성을 설정하는 것입니다. 저는 이에 대해 특별히 익숙하지도 않고 지금은 너무 게으르기 때문에 지금은 따로 두겠습니다.
코드의 경우 php 스크립트에서 사용하는 변수가 많고 그만큼 메모리 소모도 크기 때문에 $result[], $num1, $num2 같은 변수를 다른 스크립트에서 호출하지 않는다면, 저장할 수 있지만 확장성을 높이려면 기능을 추가할 때 원본 코드를 크게 변경하지 않고 유지하는 것이 좋습니다.
관심 있는 독자는 http://www.beartracker.top/server1.php로 이동하여 테스트할 수 있습니다. ^_^
위 내용은 PHP 학습 노트 - PHP 학습 콘텐츠를 포함한 간단한 계산기 스크립트를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.