基于php基础语言编写的小程序之计算器
需求:在输入框中输入数字进行加、减、乘、除运算(html+php)
思路:
1首先要创建输入数字和运算符的输入框,数字用input的text属性,运算符用selelct的option属性
2 点击输入框中的=号要进行对应的运算,
3 =号这个输入框可以用input的submit来做,只要点击submit表单里的内容就传给php了
4 判断从html中得到的运算符进行对应的运算
5 运算完成后还得把结果返回到表单中(就是给表单的value赋值)
代码
Html代码
<form method="post" action=””>//method代表的表单的提交方式,本案例选的是post提交 action是接受的页面,为空表示提交到当前页 <input type = "text" name="num1" > <select name = "select"> <option value="+" >+</option> <option value="-" >-</option> <option value="*" >*</option> <option value="/" >/</option> </select> <input type = "text" name="num2" > <input type = "submit" name = "submit" value="="> <input type = "text" name="result" > </form>
PHP代码
当用户点击提交按钮值就会通过post传递过来,现在要接受表单里的值。
在点击之前要做几个判断
if (isset($_POST['submit'])) { //isset检测变量是否设置,存在,或非NULL, 返回值为布尔, 如果变量存在返回true, 否则为false;,结合$_POST[“submit”], $_POST //接收通过表单的method=’post’ 方法的传值 $num1 = $_POST['num1'];//获取第一个输入框中的值,通过input中的name属性获得 $select = $_POST['select'];//同上 $num2 = $_POST['num2'];//同上 if (is_numeric($num1) && is_numeric($num2)) { //is_numeric() //检测变量是否为数字或数字字符串 返回值 ,true, false 如 100, ‘100’ switch ($select) {//$select是前面传来的运算符 case '+'://根据switch的语法,case中的值和switch括号里的值相等那么就执行case后面的那句话,不等则继续往下找 $result = $num1+$num2; break; case '-': $result = $num1-$num2; break; case '*': $result = $num1*$num2; break; default: if ($num2==0) {//加个判断,除数不能为0 echo "<script>alert('输入的除数为0请重新输入')</script>"; }else{ $result = $num1/$num2; break; } } }else{ //echo 当用户输入的不是数,可能是字符串则给用户提示 echo "<script>alert('输入的不是数')</script>"; $num1 = $num2 = $result = "";//把表单里的内容清空 } }
运行结果截图
当输入正确的数字截图
点击=号后
说明值没有传给html中的表单,
现在要去设置表单的value
92ffbab78e86e3940debf0e7cf1738ad" >//把value的值设置为php中运算后的num值
3065bafd6e4296c2612b6043f1d7fa9a
c6b0503cb986f62bca948eebce59958b+4afa15d3069109ac30911f04c56f3338
2140adfa49b6b77cb2ccea083bb4a66c-4afa15d3069109ac30911f04c56f3338
35f1d60629b44090ea6d07d03b2113cf*4afa15d3069109ac30911f04c56f3338
a7ee95df81370bad079148f034afe06a/4afa15d3069109ac30911f04c56f3338
18bb6ffaf0152bbe49cd8a3620346341
0022b81645a3a835ec9482dc34f98907" >
f3ba5a1c35d773837af2e3da22524174
e2a7f235cf52f2b61bc966d176517963">
f5a47148e367a6035fd7a2faa965022e
运行结果
在用户没有点击提交按钮时输入框现在有内容,所以在用户没有点击提交按钮时应该把输入框中的值置为空
改进带码,在php的代码最后加一个else{
$num1 =$num2 = $result = "";
}
截图
在点击其他运算时,中间的运算符始终为+,截图
代码改进
在html中
3065bafd6e4296c2612b6043f1d7fa9a
e4e02b4c372381ccb7ff51bd598c0ddb>+4afa15d3069109ac30911f04c56f3338
//select有一个属性selected当设置了就默认选中了它所以得结合php传过来的值比较,true就代表选中false就代表未选
61d91d6a33fb1a67260d2e0d7caaea7f>-4afa15d3069109ac30911f04c56f3338
2f76d0c58bab44fbf639c728fa911898>*4afa15d3069109ac30911f04c56f3338
075f77f4d2761a7a27245469a02d5686>/4afa15d3069109ac30911f04c56f3338
18bb6ffaf0152bbe49cd8a3620346341
截图看结果
当用户第一次进来
截图
说明要设置selecte中的默认值
代码
$select=”+”
基本功能已经完成
总的代码
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <?php if (isset($_POST['submit'])) { //isset检测变量是否设置,存在,或非NULL, 返回值为布尔, 如果变量存在返回true, 否则为false;,结合$_POST[“submit”], $_POST //接收通过表单的method=’post’ 方法的传值 $num1 = $_POST['num1'];//获取第一个输入框中的值,通过input中的name属性获得 $select = $_POST['select'];//同上 $num2 = $_POST['num2'];//同上 if (is_numeric($num1) && is_numeric($num2)) { //is_numeric() //检测变量是否为数字或数字字符串 返回值 ,true, false 如 100, ‘100’ switch ($select) {//$select是前面传来的运算符 case '+'://根据switch的语法,case中的值和switch括号里的值相等那么就执行case后面的那句话,不等则继续往下找 $result = $num1+$num2; break; case '-': $result = $num1-$num2; break; case '*': $result = $num1*$num2; break; default: if ($num2==0) {//加个判断,除数不能为0 echo "<script>alert('输入的除数为0请重新输入')</script>"; }else{ $result = $num1/$num2; break; } } }else{ //echo 当用户输入的不是数,可能是字符串则给用户提示 echo "<script>alert('输入的不是数')</script>"; $num1 = $num2 = $result = "";//把表单里的内容清空 } }else{ $num1 = $num2 = $result = ""; $select = "+"; } ?> <form method="post" action=""><!-- //method代表的表单的提交方式,本案例选的是post提交 action是接受的页面,为空表示提交到当前页 --> <input type = "text" name="num1" value="<?php echo $num1?>" > <select name = "select"> <option value="+" <?php if($select == '+')echo 'selected'?>>+</option> <option value="-" <?php if($select == '-')echo 'selected'?>>-</option> <option value="*" <?php if($select == '*')echo 'selected'?>>*</option> <option value="/" <?php if($select == '/')echo 'selected'?>>/</option> </select> <input type = "text" name="num2" value="<?php echo $num2?>" > <input type = "submit" name = "submit" value="="> <input type = "text" name="result" value="<?php echo $result?>"> </form> </body> </html>

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

SublimeText3 Linux新版
SublimeText3 Linux最新版

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

WebStorm Mac版
好用的JavaScript开发工具

SublimeText3 英文版
推荐:为Win版本,支持代码提示!