批改状态:合格
老师批语:
<?php/*** ; php指令分隔符* php 功能执行语句 必须以;结束* 结构定义语句**///! PHP运算符function demo(){}class demo{}// 算数运算符 + - * / % 去余// 能被4整除但不能被100整除的都是闰年,其余的年份均为平年$year = date("Y");// echo $year;if ($year % 4 == 0 && $year % 100 !== 0) {echo "{$year}是闰年";} else {echo "{$year}是平年";}// 控制随机数的范围 0-50// echo mt_rand() % 50;echo mt_rand(0, 50);// 比较运算符 返回布尔型 用在流程控制语句var_dump(11 > 10);// 逻辑运算符 || && ! 返回布尔型 用在流程控制语句/*** || 或 两边的表达式只要一个为true 返回true** && 且 两边的表达式全部为true 返回true** !* *//*** = 赋值运算符* == 值比较* === 严格比较 值 类型*/var_dump(1 > 0 || 4 > 5);var_dump(0 === '0');$username = 'admin';//isset检验变量是否存在if (isset($username) && $username === 'admin') {echo "欢迎管理员{$username}回来";}$email = $_GET['email'];//filter_var检测邮箱 FILTER_VALIDATE_EMAIL邮箱常量if (isset($email) && filter_var($email, FILTER_VALIDATE_EMAIL)) {echo '邮箱验证通过';} else {echo '请输入有效的邮箱';}ob_clean();//三元运算符 表达式 ? :// $pwd = sha1('wwwphpcn');//哈希运算$pwd = isset($pwd) ? $pwd : 'root';// 检测页码// $page = isset($_GET['p']) ? $_GET['p'] : 1;// ?? null合并运算符 告别isset()$page = @$_GET['p'] ?? 1;echo $page;

<?php// ! 循环 while$cities = ['合肥', '南京', '杭州', '苏州', '上海', '北京'];next($cities);//移动指针next($cities);next($cities);next($cities);reset($cities);//复位指针// echo current($cities);//获取数组长度// while循环 入口判断型循环// while ($city = current($cities)) {// echo $city . '<br>';// next($cities);// }// while ($city = current($cities)) :// echo $city . '<br>';// next($cities);// endwhile;// do..while出口型判断循环// $i = 0;// do {// echo $cities[$i];// $i++;// } while ($i < count($cities));// for 计数型循环// for ($i = 0; $i < count($cities); $i++) {// // break 提前结束循环// if ($i > 2) break;// echo $cities[$i];// }// continue 跳出某一轮循环 选择性输出for ($i = 0; $i < count($cities); $i++) {if ($i == 2 || $i == 3) continue;echo $cities[$i];}foreach ($cities as $k => $v) {}
在 PHP 中,有以下循环语句:
while - 只要指定条件为真,则循环代码块
do…while - 先执行一次代码块,然后只要指定条件为真则重复循环
for - 循环代码块指定次数
foreach - 遍历数组中的每个元素并循环代码块
PHP while 循环
只要指定的条件为真,while 循环就会执行代码块。
语法
while (条件为真) {
要执行的代码;
}
上例首先把变量 $x 设置为 1($x=1)。然后执行 while 循环,只要 $x 小于或等于 5。循环每运行一次,$x 将递增 1:
实例
<?php$x=1;while($x<=5) {echo "这个数字是:$x <br>";$x++;}?>
PHP do…while 循环
do…while 循环首先会执行一次代码块,然后检查条件,如果指定条件为真,则重复循环。
语法
do {
要执行的代码;
} while (条件为真);
下面的例子首先把变量 $x 设置为 1($x=1)。然后,do while 循环输出一段字符串,然后对变量 $x 递增 1。随后对条件进行检查($x 是否小于或等于 5)。只要 $x 小于或等于 5,循环将会继续运行:
实例
<?php$x=1;do {echo "这个数字是:$x <br>";$x++;} while ($x<=5);?>
请注意,do while 循环只在执行循环内的语句之后才对条件进行测试。这意味着 do while 循环至少会执行一次语句,即使条件测试在第一次就失败了。
PHP for 循环
如果您已经提前确定脚本运行的次数,可以使用 for 循环。
语法
for (init counter; test counter; increment counter) {
code to be executed;
}
参数:
init counter:初始化循环计数器的值
test counter:: 评估每个循环迭代。如果值为 TRUE,继续循环。如果它的值为 FALSE,循环结束。
increment counter:增加循环计数器的值
实例
<?phpfor ($x=0; $x<=10; $x++) {echo "数字是:$x <br>";}?>
PHP foreach 循环
foreach 循环只适用于数组,并用于遍历数组中的每个键/值对。
语法
foreach ($array as $value) {code to be executed(执行 );}
每进行一次循环迭代,当前数组元素的值就会被赋值给 $value 变量,并且数组指针会逐一地移动,直到到达最后一个数组元素。
下面的例子演示的循环将输出给定数组($colors)的值:
实例
<?php$colors = array("red","green","blue","yellow");foreach ($colors as $value) {echo "$value <br>";}?>
<!-- 引入页眉 --><?php// 配置文件引入include __DIR__ . '/config/common.php';// 引入页眉include TMPL_PATH_PUBLIC . '/header.php';?><!-- 主体 --><main><!-- 用户登录 --><!-- action="dologin.php" type="submit"> 此为同步提交--><form class="login" ><table><caption>用户登录</caption><tbody><tr><td><label for="email">邮箱:</label></td><td><input type="email" name="email" id="email" /></td></tr><tr><td><label for="password">密码:</label></td><td><input type="password" name="password" id="password" /></td></tr><tr><td colspan="2"><button onclick="doLogin(this)" type="button">登录</button></td></tr></tbody></table></form><p><a href="register.php">没有帐号,请先注册</a></p></main><script>async function doLogin(obj){// alert('123');const email = obj.form.email.value;const password = obj.form.password.value;// console.log(password);//非空验证//if (email.length > 0 && password.length > 0) {// 异步提交 fetch APIconst response = await fetch('./lib/user/check.php', {// 请求方法method: 'POST',// 请求头headers: {'Content-Type': 'application/json;charset=utf-8'},body: JSON.stringify({email,password})});// 解析数据const result = await response.json();console.log(result);} else {alert('邮箱或密码不能为空');}}</script><!-- 引入页脚 --><?php include TMPL_PATH_PUBLIC . '/footer.php' ?>
<?php// 获取用户登录数据 不能用传统的表单格式提交 ($_POST) , json// json当成文本流原始数据来接收$json = file_get_contents('php://input');// echo $json;// $json并非php能识别的数据类型,它只是json格式的字符串而已// json_decode函数 是把json ->转换为 php.array , true: 数组 不加TRUE 就是php对象$user = json_decode($json, true);//var_dump($user);echo json_encode($user);//返回数组对象

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号