Blogger Information
Blog 49
fans 0
comment 0
visits 38187
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
利用php循环遍历及运算法则实现重新组合数组与计算器实例两则
超超多喝水
Original
710 people have browsed it

一、封装一个从数组中取偶数并重新组成数组的函数

方法一:

实例

<?php
//声明一个数组,模拟提供的数组
$arr = [23,3,45,6,78,8,34];
//声明一个空数组,一会儿用来存放新的数组内容
$even = [];
//定义一个封装函数
function even($args)
{       
        //从全局变量获取定义好的控数组
    global $even;
    //用for循环遍历数组
    for($i=0;$i<count($args);$i++)
    {
            //用对2取余的方法对数组里的元素进行偶数的判断
        if($args[$i]%2 == 0)
        {    //重新组装数组为新数组
            array_push($even,$args[$i]);
        }
    }
    //对数组进行输出
    echo '<pre>';
    print_r($even);
}
//调用函数
even($arr);
?>


运行实例 »

点击 "运行实例" 按钮查看在线实例

方法二:

实例

<?php
//声明一个数组,模拟提供的数组
$arr = [23,3,45,6,78,8,34];
//声明一个空数组,一会儿用来存放新的数组内容
$even = [];
//定义一个封装函数
function even($args)
{
        //从全局变量获取定义好的控数组
    global $even;
    //循环遍历数组为元素
    foreach($args as $val)
    {
            //用对2取余的方法对数组里的元素进行偶数的判断
        if($val%2 == 0)
        {
                //重新组装数组为新数组,等同于上面的array_push($even,$args[$i]);
            $even[] = $val;
        }
    }
    //对数组进行输出
    echo '<pre>';
    print_r($even);
}
//调用函数
even($arr);
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

这里需要注意一下,不要想当然的在重新组装数组后,在下面直接print_r($even)把内容输出出来,这里还是在循环中的,如果在if判断里就输出,那么会从开始检测到的第一个符合的值到最后一个符合条件的值,每一个都会输出一遍。


二、使用php循环及运算符制作一个简易计算器

实例

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>计算器</title>
</head>
<body>
    <?php
    //显示除去 E_NOTICE 之外的所有错误信息
    error_reporting(E_ALL & ~E_NOTICE);
    //判断是否点击了提交按钮
    if(isset($_POST["sub"])):
            //判断是否在除法运算或者取余运算中有0作为被除数,这里如果if语句后面没有else,则可以后面直接跟if为true的内容
        if($_POST["opt"] == "÷" && $_POST["num2"] == 0 || $_POST["opt"] == "取余" && $_POST["num2"] == 0) $mess = "<span style='color:red;'>除数不能为0</span>";
    endif;
    ?>
    <div>
        <h1>计算器</h1>
        <!-- form表单action为空默认是当前脚本 -->
        <form action="" method="post">
                <!-- 限定第一个输入框为数字,且必填,且提交后数值默认显示是上次点提交前输入的最后一个数字 -->
            <input type="number" name="num1" required value="<?=$_POST["num1"]?>" id="num1">
            <!-- 制作下拉框 -->
            <select name="opt">
                    <!-- 对运算符进行设置 且提交后默认显示上次运算使用的运算符 -->
                <option value="+" <?=$_POST["opt"] == "+" ? "selected"  : ""?>>+</option>
                <option value="-" <?=$_POST["opt"] == "-" ? "selected" : "" ?>>-</option>
                <option value="×" <?=$_POST["opt"] == "×" ? "selected" : ""?>>×</option>
                <option value="÷" <?=$_POST["opt"] == "÷" ? "selected" : ""?>>÷</option>
                <option value="取余" <?=$_POST["opt"] == "取余" ? "selected" : ""?>>取余</option>
                <option value="幂运算" <?=$_POST["opt"] == "幂运算" ? "selected" : ""?>>幂运算</option>
            </select>
            <!-- 限定第二个输入框为数字,且必填,且提交后数值默认显示是上次点提交前输入的最后一个数字 -->
            <input type="number" name="num2" value="<?=$_POST["num2"]?>" id="num2">
            <!-- 提交按钮 -->
            <input type="submit" name="sub" value="计算">
        </form>
    </div>
    <?php
            //判断是否有报错信息且是否已经点击提交按钮
        if(!$mess && isset($_POST["sub"])):
                //如果是,则根据POST过来的不同运算符,进入switch循环,对POST提交的两个数字进行计算
            switch($_POST["opt"]):
                case "+":
                    $result = $_POST["num1"] + $_POST["num2"];
                    break;
                case "-":
                    $result = $_POST["num1"] - $_POST["num2"];
                    break;
                case "×":
                    $result = $_POST["num1"] * $_POST["num2"];
                    break;
                case "÷":
                    $result = $_POST["num1"] / $_POST["num2"];
                    break;
                case "取余":
                    $result = $_POST["num1"] % $_POST["num2"];
                    break;
                case "幂运算":
                    $result = $_POST["num1"] ** $_POST["num2"];
                    break;
                endswitch;
                //把结果输出的内容进行组装
                $res = "计算结果:{$_POST["num1"]}{$_POST["opt"]}{$_POST["num2"]}={$result}";
                //因为幂运算是一个特殊形式,这里加个判断,如果不是幂运算,则正常输出,是幂运算则单独输出运算内容
                if($_POST["opt"]!="幂运算"):echo "<span style='color:green;'>{$res}</span>";
                else:echo "<span style='color:green;'>计算结果:{$_POST["num1"]}的{$_POST["num2"]}次方={$result}</span>";
                endif;
        else:
                //否则如果有报错信息则输出报错信息
            echo $mess;
        endif;
    ?>
</body>
</html>


运行实例 »

点击 "运行实例" 按钮查看在线实例

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:继续
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post