1.php四则计算器
<html> <head> <meta content="text/html; charset=utf8"> <title>PHP计算器</title> </head> <body> <?php if(isset($_POST["num1"]) && isset($_POST["num2"])){//有提交才执行,避免报错 if(empty($_POST["num1"])){ echo "操作数1不能为空"; unset($_POST["sub"]);//取消表单中的提交变量 } if(empty($_POST["num2"])){ echo "操作数2不能为空"; unset($_POST["sub"]); } $oper=$_POST["oper"];//操作符 $num1=$_POST["num1"];//第一个操作数 $num2=$_POST["num2"];//第二个操作数 if($oper == "/"){ if($num2 == 0){ echo " '0' 不能作为除数使用"; unset($_POST["sub"]); } } } ?> <table border="1" align="center" width="400"> <form method="post"> <tr> <td><input type="number" size="10" name="num1"></td> <td> <select name="oper"> <option value="+">+</option> <option value="-" >-</option> <option value="*" >*</option> <option value="/" >/</option> </select> </td> <td><input type="number" size="10" name="num2"></td> <td><input type="submit" name="sub" value="计算"></td> </tr> <?php /**通过表单传过来的$_POST["sub],判断是否单击了计算按钮 来决定以下计算是否执行以及是否输出计算结果**/ if(isset($_POST["sub"]) && !empty($_POST["sub"])){ $sum = 0; //声明一个存放计算结果的变量,初始值为0 switch($oper){ case "+": $sum = $num1+$num2; break; case "-": $sum = $num1-$num2; break; case "*": $sum = $num1*$num2; break; case "/": $sum = $num1/$num2; break; } echo "<tr><td colspan='4' align='center'>"; echo "结果: $sum"; echo "</td></tr>"; } ?> </form> </table> </body> </html>
2.已知:公鸡5元一只,母鸡3元一只,小鸡一元3只。现用100元钱买了100只鸡,问:公鸡母鸡小鸡各几只?
<?php $num1 = 0;//公鸡数目 $num2 = 0;//母鸡数目 $num3 = 0;//小鸡数目 $money = 100;//总金额 $money2 = 0;//买完公鸡的剩余金额 $money3 = 0;//买完公鸡、母鸡的剩余金额 echo ("<p>可能出现的结果:</p>"); echo ("公鸡,母鸡,小鸡<br>"); for($num1 = 0;$num1<100;$num1++){ for($num2 = 0;$num2<100;$num2++){ $money2 = $money - $num1*5; $money3 = $money2 - $num2*3; $num3 = $money3*3; if($num3>=0){ echo ("$num1,$num2,$num3<br>"); } } }
3.写2个函数,分别可以求得两个正整数的最大公约数和最小公倍数。
提示:
最大公约数就是能够同时整除该两个数的最大的那个。比如24和36的最大公约数是12
最小公倍数就是能够同时被该两个数整除的最小的那个。比如24和36的最小公倍数是72
<?php function func($m,$n){ $x=2; $y=0; for($a = 1;$m>=$a;$a++){ if($m % $a == 0 && $n % $a == 0){ $x = $a; } } echo ("最大公约数是:$x<br/>"); for($b = $m * $n;$b > 0 && $b<=$m * $n;$b--){ if($b%$m == 0 && $b%$n == 0){ $y = $b; } } echo ("最小公倍数是:$y<br/>"); } if(isset($_POST["num1"]) && isset($_POST["num2"])){ func($_POST['num1'],$_POST['num2']); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>求最大公约数和最小公倍数</title> </head> <body> <form method="post"> <input type="number" value="第一个正整数" name="num1"> <input type="number" value="第二个正整数" name="num2"> <input type="submit" value="提交"> </form> </body>
4.写一个函数,该函数能够判断一个数字是否是一个素数(是就返回true,否则就返回false)。再利用该函数,输出2-200之间的所有素数。
<?php function func($num){//判断函数 $n = 0; //用于记录能被整除的个数 -- 计数 for($i = 1;$i <= $num; ++$i){ if($num % $i == 0){ $n++; } } if($n == 2){ echo ("true<br>"); }else{ echo ("false<br>"); } } function func2($num){//求值函数 $n = 0; //用于记录能被整除的个数 -- 计数 for($i = 1;$i <= $num; ++$i){ if($num % $i == 0){ $n++; } } if($n == 2){ echo ("$num<br>"); } } if( isset($_POST["num"]) ){ func($_POST['num']); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>求素数</title> </head> <body> <form method="post"> <input type="number" value="请输入一个数" name="num"> <input type="submit" value="提交"> <input type="submit" value="求2-200内所有素数" name="yes"> </form> <?php if( isset($_POST["yes"]) ){ for($number = 200;$number>1;$number--){ func2($number); } } ?> </body>
5.php利用循环输出表格形式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP输出表格</title> </head> <body> <table> <tr> <?php $trnum = 5; //表格的行数 $tdnum = 4 ; //表格的列数 $trend = $tdnum - 1; //表格换行 $tdwid = (int)(100 / $tdnum); //计算表格列的宽度 for ($i=1;$i<=$trnum;$i++) { //循环表格行 $k = $i * $tdnum - $trend ; //循环表格换行公式 $l = $i * $tdnum ; //循环表格列数公式 echo "<tr>"; //输出表格行开始 for ($j=$k;$j<=$l;$j++) { //循环表格列 echo "<td width='{$tdwid}%' >{$j}</td>"; //输出表格列 } echo "</tr>"; //输出表格行结束 } ?> </tr> </table> </body> </html>
总结:主要练习了php相关的循环判断语句,以及form表单提交和函数的调用