基於php基礎(chǔ)語言編寫的小程式之計算器
需求:在輸入框中輸入數(shù)字進(jìn)行加、減、乘、除運算(html+php)
思路:
1首先要建立輸入數(shù)字和運算子的輸入框,數(shù)字用input的text屬性,運算子用selelct的option屬性
2 點選輸入框中的=號要進(jìn)行對應(yīng)的運算,
3 =號這個輸入框可以用input的submit來做,只要點選submit表單裡的內(nèi)容就傳給php了
4 判斷從html得到的運算子進(jìn)行對應(yīng)的運算
5 運算完成後還得把結(jié)果回傳到表單中(就是給表單的value賦值)
?
代碼
Html代碼
?
PHP代碼
當(dāng)使用者點擊提交按鈕值就會透過post傳遞過來,現(xiàn)在要接受表單裡的值。
在點擊前要做幾個判斷
if (isset($_POST['submit'])) {
//isset偵測變數(shù)是否設(shè)定,存在,或非NULL, 回傳值為布林, 若變數(shù)存在回傳true, 否則為false;,結(jié)合$_POST[“submit”], $_POST?? //接收經(jīng)由表單的method= 'post' 方法的傳值
$num1 = $_POST['num1'];//取得第一個輸入框中的值,透過input中的name屬性獲得
?????? ????? $select = $_POST['select'];//同上
?????? ????? $num2 = $_POST['num2'];//同上
?????? if (is_numeric($num1) && is_numeric($num2)) {
?????? //is_numeric() //偵測變數(shù)是否為數(shù)字或數(shù)位字串? 回傳值 ,true, false? 如 100, ‘100’
?
?????? ????? switch ($select) {//$select是前面?zhèn)鱽淼倪\算子
?????? ???????????? case '+'://根據(jù)switch的語法,case中的值與switch括號裡的值相等那麼就執(zhí)行case後面的那句話,不等則繼續(xù)往下找
?????? ??????????????????? $result = $num1+$num2;
?????? ??????????????????? break;
?????? ???????????? case '-':
?????? ??????????????????? $result = $num1-$num2;
?????? ??????????????????? break;
?????? ???????????? case '*':
?????? ??????????????????? $result = $num1*$num2;
?????? ??????????????????? break;
?????? ???????????? default:
?????? ??????????????????? if ($num2==0) {//定
?????? ??????????????????????????????? ??????????????????? }else{
?????? ?????????????????????????? $result
?????? ????????????????????????地?????? ??????????????????? }?????
?????? ????? }
?????? ????? }else{
?????? ???????????? //echo 當(dāng)使用者所輸入的不是數(shù)字,而使用者則為使用者提示
?????? ???????????? echo "<script>alert('輸入的不是數(shù)')</script>";
?????? ???????????? $num1 = $num2 = $result = "";//清除表單裡的內(nèi)容物
?????? ????? }
}
運行結(jié)果截圖
?
?
當(dāng)輸入正確的數(shù)字截圖
?
點選=號後
?
說明值沒有傳給html中的表單,
現(xiàn)在要去設(shè)定表單的value
//把value的值設(shè)為php中運算後的num值
?????????????
????????????????????
????????????????????
????????????????????
????????????????????
?????????????
?????????????
?????????????
?????????????
??????
運行結(jié)果
?
在使用者沒有點擊提交按鈕時輸入框現(xiàn)在有內(nèi)容,所以在使用者沒有點擊提交按鈕時應(yīng)該把輸入框中的值置為空
改進(jìn)帶碼,在php的程式碼最後加上一個else{
?
$num1 =$num2 = $result = "";
}
截圖
?
點擊其他運算時,中間的運算子總是+,截圖
?
程式碼改進(jìn)
在html中
??????????????????? Sharp
//select有一個屬性selected當(dāng)設(shè)定了就預(yù)設(shè)選取了它所以得結(jié)合php傳過來的值比較,true代表選取false代表未選取?????? ?????????????
??????????????地
???????????????????????="/" >/
?????????????
截圖看結(jié)果
?
當(dāng)使用者第一次進(jìn)來
截圖
?
說明要設(shè)定selecte中的預(yù)設(shè)值
代碼
$select=”+”
基本功能已經(jīng)完成
總的代碼
??????
??????
??????
????????????? if (isset($_POST['submit'])) {
//isset偵測變數(shù)是否設(shè)定,存在,或非NULL, 回傳值為布林, 若變數(shù)存在回傳true, 否則為false;,結(jié)合$_POST[“submit”], $_POST?? //接收經(jīng)由表單的method= 'post' 方法的傳值
????????????? $num1 = $_POST['num1'];//取得第一個輸入方塊中的數(shù)值,透過input中的name屬性取得
?????? ????? $select = $_POST['select'];//同上
?????? ????? $num2 = $_POST['num2'];//同上
?????? if (is_numeric($num1) && is_numeric($num2)) {
?????? //is_numeric() //偵測變數(shù)是否為數(shù)字或數(shù)字字串? 傳回值 ,true, false? 如 100, ‘100’
?
?????? ????? switch ($select) {//$select是前面?zhèn)鱽淼倪\算子
?????? ???????????? case '+'://根據(jù)switch的語法,case中的值與switch括號裡的值相等那麼就執(zhí)行case後面的那句話,不等則繼續(xù)往下找
?????? ??????????????????? $result = $num1+$num2;
?????? ??????????????????? break;
?????? ???????????? case '-':
?????? ??????????????????? $result = $num1-$num2;
?????? ??????????????????? break;
?????? ???????????? case '*':
?????? ??????????????????? $result = $num1*$num2;
?????? ??????????????????? break;
?????? ???????????? default:
?????? ??????????????????? if ($num2==0) {//定
?????? ??????????????????????????????? ??????????????????? }else{
?????? ?????????????????????????? $result
?????? ????????????????????????地?????? ??????????????????? }?????
?????? ????? }
?????? ????? }else{
?????? ???????????? //echo 當(dāng)使用者所輸入的不是數(shù)字,而使用者則為使用者提示
?????? ???????????? echo "<script>alert('輸入的不是數(shù)')</script>";
?????? ???????????? $num1 = $num2 = $result = "";//清除表單裡的內(nèi)容物
?????? ????? }
}else{
?????? $num1 = $num2 = $result = "";
?????? $select = "+";
}
?????? ??>

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)
