<?php// ! 流程控制: 分支$age = 15;// * 1. 单分支if ($age >= 18) {echo '恭喜, 已成年,可以观看<br>';}// * 2. 双分支// $age = 38;if ($age >= 18)echo '恭喜, 已成年,可以观看<br>';else// 默认分支echo '未成年, 请在家长陪同下观看<br>';// * 3. 多分支$age = 44;if ($age >= 18 && $age < 30)echo "{$age}岁, 彩礼, 能按揭吗? <br>";else if ($age >= 30 && $age < 45)echo "{$age}岁, 应该成个家了 <br>";else if ($age >= 45)echo "{$age}岁, 房贷快还完了 <br>";// 未成年, < 18, 默认分支elseecho "{$age}岁, 放学了, 我送你回家 <br>";// * 4. 多分支的语法糖:switch$age = 15;switch (true) {case $age >= 18 && $age < 30:echo "{$age}岁, 彩礼, 能按揭吗? <br>";break;case $age >= 30 && $age < 45:echo "{$age}岁, 应该成个家了 <br>";break;case $age >= 45:echo "{$age}岁, 房贷快还完了 <br>";break;default:echo "{$age}岁, 放学了, 我送你回家 <br>";}

<?php// ! 流程控制: 循环// 循环本质上还是"分支"$colors = ['red', 'green', 'blue'];/*** 循环三要素:* 1. 初始化循环变量: $i =0;* 2. 循环条件: $i < count($colors);* 3. 更新循环条件: $i = $i + 1*/// * while() 来简化以上的分支过程$list = '<ul style="border:1px solid;background: lightcyan">';$i = 0;while ($i < count($colors)) {$list .= "<li>{$colors[$i]}</li>";// 更新条件$i = $i + 1;}$list .= '</ul>';echo $list;// while 还有一个双胞胎, do-while 与上面的区别在于条件判断的时机不同$list = '<ul style="border:1px solid;background: lightgreen">';$i = 0;do {$list .= "<li>{$colors[$i]}</li>";// 更新条件$i = $i + 1;} while ($i > count($colors));$list .= '</ul>';echo $list;// for 可看成 while 的语法糖$list = '<ul style="border:1px solid;background: violet">';for ($i = 0; $i < count($colors); $i++) {$list .= "<li>{$colors[$i]}</li>";}$list .= '</ul>';echo $list;// 中断或跳过某次循环// break; continue$list = '<ul style="border:1px solid;background: pink">';for ($i = 0; $i < count($colors); $i++) {// 只输出前二个// if ($i > 1) break;// 跳过第2个,只输出第1个和第3个if ($i === 1) continue;$list .= "<li>{$colors[$i]}</li>";}$list .= '</ul>';echo $list;

<?php// 用二维数组来模拟数据表查询结果集$stus = [['id' => 1, 'name' => '刘备', 'course' => 'js', 'score' => 83],['id' => 2, 'name' => '关羽', 'course' => 'php', 'score' => 75],['id' => 3, 'name' => '张飞', 'course' => 'js', 'score' => 52],['id' => 4, 'name' => '孙权', 'course' => 'php', 'score' => 88],['id' => 5, 'name' => '周瑜', 'course' => 'js', 'score' => 65],['id' => 6, 'name' => '孔明', 'course' => 'php', 'score' => 53],['id' => 7, 'name' => '赵云', 'course' => 'js', 'score' => 63],['id' => 8, 'name' => '马超', 'course' => 'js', 'score' => 77],['id' => 9, 'name' => '姜维', 'course' => 'php', 'score' => 93],['id' => 10, 'name' => '黄忠', 'course' => 'js', 'score' => 81],]?><!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>php与html原生混编</title><style>table {border-collapse: collapse;width: 360px;text-align: center;}table th,table td {border: 1px solid #000;padding: 5px;}table caption {font-size: 1.3em;}table thead {background-color: lightcyan;}.active {color: red;}</style></head><body><table><caption>学生成绩表</caption><thead><tr><th>ID</th><th>姓名</th><th>课程</th><th>成绩</th></tr></thead><tbody><!-- 这里显示的用户数据 --><?phpforeach ($stus as $stu) {// 只查phpif ($stu['course'] === 'php') {echo <<< STU<tr><td>{$stu['id']}</td><td>{$stu['name']}</td><td class="active">{$stu['course']}</td><td>{$stu['score']}</td></tr>STU;}}?></tbody></table></body></html>

<!-- php模板语法的目标:与html和php代码分离 --><?php foreach($stus as $stu) : ?><!-- 当前已经离开了php环境,处在html中了 --><!-- <tr><td><?php echo $stu['id'] ?></td><td><?php echo $stu['name'] ?></td><td><? echo $stu['course'] ?></td><td><? echo $stu['score'] ?></td></tr> --><!-- 输出成绩大于70分的 --><!-- <?php if($stu['score'] > 70) :?><tr><td><?php echo $stu['id'] ?></td><td><?php echo $stu['name'] ?></td><td><? echo $stu['course'] ?></td><td class="active"><? echo $stu['score'] ?></td></tr><?php endif ?> --><!-- 输出全部,并将不合格的成绩标红 --><tr><td><?php echo $stu['id'] ?></td><td><?php echo $stu['name'] ?></td><td><? echo $stu['course'] ?></td><td class="<?= $stu['score'] < 60 ? "active" : '' ?>"><? echo $stu['score'] ?></td></tr><!-- 动态设置样式方法 -->

相关推荐
© 2020 asciim码
人生就是一场修行