
批改狀態(tài):合格
老師批語:繼續(xù)
方法一:
<?php //聲明一個數(shù)組,模擬提供的數(shù)組 $arr = [23,3,45,6,78,8,34]; //聲明一個空數(shù)組,一會兒用來存放新的數(shù)組內(nèi)容 $even = []; //定義一個封裝函數(shù) function even($args) { //從全局變量獲取定義好的控數(shù)組 global $even; //用for循環(huán)遍歷數(shù)組 for($i=0;$i<count($args);$i++) { //用對2取余的方法對數(shù)組里的元素進行偶數(shù)的判斷 if($args[$i]%2 == 0) { //重新組裝數(shù)組為新數(shù)組 array_push($even,$args[$i]); } } //對數(shù)組進行輸出 echo '<pre>'; print_r($even); } //調(diào)用函數(shù) even($arr); ?>
點擊 "運行實例" 按鈕查看在線實例
方法二:
<?php //聲明一個數(shù)組,模擬提供的數(shù)組 $arr = [23,3,45,6,78,8,34]; //聲明一個空數(shù)組,一會兒用來存放新的數(shù)組內(nèi)容 $even = []; //定義一個封裝函數(shù) function even($args) { //從全局變量獲取定義好的控數(shù)組 global $even; //循環(huán)遍歷數(shù)組為元素 foreach($args as $val) { //用對2取余的方法對數(shù)組里的元素進行偶數(shù)的判斷 if($val%2 == 0) { //重新組裝數(shù)組為新數(shù)組,等同于上面的array_push($even,$args[$i]); $even[] = $val; } } //對數(shù)組進行輸出 echo '<pre>'; print_r($even); } //調(diào)用函數(shù) even($arr); ?>
點擊 "運行實例" 按鈕查看在線實例
這里需要注意一下,不要想當然的在重新組裝數(shù)組后,在下面直接print_r($even)把內(nèi)容輸出出來,這里還是在循環(huán)中的,如果在if判斷里就輸出,那么會從開始檢測到的第一個符合的值到最后一個符合條件的值,每一個都會輸出一遍。
<!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作為被除數(shù),這里如果if語句后面沒有else,則可以后面直接跟if為true的內(nèi)容 if($_POST["opt"] == "÷" && $_POST["num2"] == 0 || $_POST["opt"] == "取余" && $_POST["num2"] == 0) $mess = "<span style='color:red;'>除數(shù)不能為0</span>"; endif; ?> <div> <h1>計算器</h1> <!-- form表單action為空默認是當前腳本 --> <form action="" method="post"> <!-- 限定第一個輸入框為數(shù)字,且必填,且提交后數(shù)值默認顯示是上次點提交前輸入的最后一個數(shù)字 --> <input type="number" name="num1" required value="<?=$_POST["num1"]?>" id="num1"> <!-- 制作下拉框 --> <select name="opt"> <!-- 對運算符進行設(shè)置 且提交后默認顯示上次運算使用的運算符 --> <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> <!-- 限定第二個輸入框為數(shù)字,且必填,且提交后數(shù)值默認顯示是上次點提交前輸入的最后一個數(shù)字 --> <input type="number" name="num2" value="<?=$_POST["num2"]?>" id="num2"> <!-- 提交按鈕 --> <input type="submit" name="sub" value="計算"> </form> </div> <?php //判斷是否有報錯信息且是否已經(jīng)點擊提交按鈕 if(!$mess && isset($_POST["sub"])): //如果是,則根據(jù)POST過來的不同運算符,進入switch循環(huán),對POST提交的兩個數(shù)字進行計算 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; //把結(jié)果輸出的內(nèi)容進行組裝 $res = "計算結(jié)果:{$_POST["num1"]}{$_POST["opt"]}{$_POST["num2"]}={$result}"; //因為冪運算是一個特殊形式,這里加個判斷,如果不是冪運算,則正常輸出,是冪運算則單獨輸出運算內(nèi)容 if($_POST["opt"]!="冪運算"):echo "<span style='color:green;'>{$res}</span>"; else:echo "<span style='color:green;'>計算結(jié)果:{$_POST["num1"]}的{$_POST["num2"]}次方={$result}</span>"; endif; else: //否則如果有報錯信息則輸出報錯信息 echo $mess; endif; ?> </body> </html>
點擊 "運行實例" 按鈕查看在線實例
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號