PHP练习

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表单提交和函数的调用

原文地址:https://www.cnblogs.com/Arisf/p/14597796.html