雖然這是一個比較簡單的小程序,但是在看過一遍視頻之后還是感覺無從下手。只要原因是沒有思路,准確說是缺乏對程序的一個整體的構思。
先來說一下編寫簡單計算器代碼的構思:
建立index.php文件—>
編寫html基本結構:head、title、body—>
使用表單table結構提交數據給php進行運算—>
定義form,聲明提交方式:<form action="index.php" method="post">—>
php通過$_POST數組獲取到的數組格式[name]:value —>
在html中嵌套php語言用於對數據進行處理和運算—>
使用switch分支結構判斷選擇的運算符進行運算,並將結果存放在$sum變量中—>
基本功能實現—>優化—>
php是弱文本類型的語言,因此不需要關注提示信息和警告—>消除警告信息:error_reporting(E_ALL & ~E_NOTICE);—>
進行運算的兩個數字都不能為空,且不能為非數字數據①—>
保留兩個輸入框里運算的數據和選擇的運算符②—>
完成—>—>—>—>—>
注釋:
①考慮到要判斷多個條件,且每個判斷條件輸出都要輸出不同的提示信息。因此引入標志變量$flag,在使用$flag時給它一個初始值:true。然后在編寫不合法的判斷條件,將$flag的值改為false;
定義一個變量$errormess輸出錯誤信息,在不合法的判斷語句里用$errormess.="錯誤信息",來儲存錯誤信息;最后在htmlz中判斷標志變量的真假:若真,則輸入的數據格式正確,可進行運算。若假,則輸出存儲錯誤信息的變量$errormess。
②input標簽通過在其value屬性中加入php代碼,運用php代碼將剛輸入的數據顯示在數據框中:value="<?php echo $_POST['num'] ?>"
要想保留select標簽選中的值,需要將選中的option標簽標記為selected。因此在每個option中加入php代碼判斷表單中提交的$_POST['ysf']的是否跟當前標簽的屬性值對應,如對應則輸出該標簽為selected:<?php if($_POST['ysf']=="+") echo "selected"; ?>