Appearance
第 6 章:流程控制语句
6.1 if /else if /else
基本语法
php
<?php
if (条件1) {
// 条件1为真时执行的代码
} elseif (条件2) {
// 条件1为假,条件2为真时执行的代码
} else {
// 所有条件都为假时执行的代码
}
?>示例代码
php
<?php
$score = 85;
if ($score >= 90) {
echo "优秀";
} elseif ($score >= 80) {
echo "良好";
} elseif ($score >= 60) {
echo "及格";
} else {
echo "不及格";
}
?>简写形式
php
<?php
// 三元运算符
$message = $age >= 18 ? "成年人" : "未成年人";
// 简写if语句(适合单行代码)
if ($score >= 60) echo "及格";
?>6.2 switch case
基本语法
php
<?php
switch (表达式) {
case 值1:
// 表达式等于值1时执行的代码
break;
case 值2:
// 表达式等于值2时执行的代码
break;
default:
// 表达式不等于任何case值时执行的代码
}
?>示例代码
php
<?php
$day = date('w'); // 获取今天是星期几(0-6,0表示星期日)
switch ($day) {
case 0:
echo "今天是星期日";
break;
case 1:
echo "今天是星期一";
break;
case 2:
echo "今天是星期二";
break;
case 3:
echo "今天是星期三";
break;
case 4:
echo "今天是星期四";
break;
case 5:
echo "今天是星期五";
break;
case 6:
echo "今天是星期六";
break;
default:
echo "无效的星期";
}
?>6.3 while 循环
基本语法
php
<?php
while (条件) {
// 条件为真时重复执行的代码
}
?>示例代码
php
<?php
$i = 1;
while ($i <= 10) {
echo "$i <br>";
$i++;
}
?>6.4 do while 循环
基本语法
php
<?php
do {
// 先执行一次代码
} while (条件); // 然后检查条件,条件为真时继续执行
?>示例代码
php
<?php
$i = 1;
do {
echo "$i <br>";
$i++;
} while ($i <= 10);
?>while 与 do while 的区别
while循环:先检查条件,再执行代码do while循环:先执行代码,再检查条件(至少执行一次)
6.5 for 循环
基本语法
php
<?php
for (初始化; 条件; 增量) {
// 条件为真时执行的代码
}
?>示例代码
php
<?php
for ($i = 1; $i <= 10; $i++) {
echo "$i <br>";
}
?>嵌套 for 循环
php
<?php
// 打印乘法表
for ($i = 1; $i <= 9; $i++) {
for ($j = 1; $j <= $i; $j++) {
echo "$j × $i = " . ($j * $i) . "\t";
}
echo "<br>";
}
?>6.6 foreach 循环(重点)
遍历索引数组
php
<?php
$fruits = array("苹果", "香蕉", "橙子", "葡萄");
foreach ($fruits as $fruit) {
echo "水果:$fruit <br>";
}
// 带键名的遍历
foreach ($fruits as $key => $fruit) {
echo "索引 $key:$fruit <br>";
}
?>遍历关联数组
php
<?php
$person = array(
"name" => "张三",
"age" => 25,
"email" => "zhangsan@example.com"
);
foreach ($person as $key => $value) {
echo "$key:$value <br>";
}
?>6.7 break /continue
break 语句
用于跳出循环或 switch 语句
php
<?php
// 跳出循环
for ($i = 1; $i <= 10; $i++) {
if ($i == 5) {
break; // 当i=5时跳出循环
}
echo "$i <br>";
}
// 跳出switch
switch ($num) {
case 1:
echo "数字1";
break;
case 2:
echo "数字2";
break;
}
?>continue 语句
用于跳过当前循环的剩余部分,继续下一次循环
php
<?php
// 跳过偶数
for ($i = 1; $i <= 10; $i++) {
if ($i % 2 == 0) {
continue; // 跳过偶数
}
echo "$i <br>";
}
?>6.8 实操:循环打印、数字判断
创建 control-structures-demo.php 文件
php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>流程控制语句示例</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 20px;
}
.section {
margin: 20px 0;
padding: 15px;
border: 1px solid #ccc;
border-radius: 5px;
}
h2 {
color: #333;
}
pre {
background-color: #f5f5f5;
padding: 10px;
border-radius: 3px;
}
</style>
</head>
<body>
<h1>流程控制语句示例</h1>
<!-- 数字判断 -->
<div class="section">
<h2>数字判断</h2>
<?php
$num = 42;
echo "数字:$num<br>";
if ($num > 0) {
echo "这是一个正数<br>";
} elseif ($num < 0) {
echo "这是一个负数<br>";
} else {
echo "这是零<br>";
}
if ($num % 2 == 0) {
echo "这是一个偶数<br>";
} else {
echo "这是一个奇数<br>";
}
if ($num % 3 == 0 && $num % 5 == 0) {
echo "这个数能同时被3和5整除<br>";
} elseif ($num % 3 == 0) {
echo "这个数能被3整除<br>";
} elseif ($num % 5 == 0) {
echo "这个数能被5整除<br>";
} else {
echo "这个数不能被3或5整除<br>";
}
?>
</div>
<!-- 循环打印 -->
<div class="section">
<h2>循环打印</h2>
<h3>while 循环</h3>
<pre>
<?php
$i = 1;
while ($i <= 5) {
echo "$i <br>";
$i++;
}
?>
</pre>
<h3>for 循环</h3>
<pre>
<?php
for ($i = 1; $i <= 5; $i++) {
echo "$i <br>";
}
?>
</pre>
<h3>foreach 循环</h3>
<pre>
<?php
$fruits = array("苹果", "香蕉", "橙子", "葡萄");
foreach ($fruits as $key => $fruit) {
echo "索引 $key:$fruit <br>";
}
?>
</pre>
</div>
<!-- 乘法表 -->
<div class="section">
<h2>乘法表</h2>
<table border="1" cellpadding="5">
<?php
for ($i = 1; $i <= 9; $i++) {
echo "<tr>";
for ($j = 1; $j <= $i; $j++) {
echo "<td>$j × $i = " . ($j * $i) . "</td>";
}
echo "</tr>";
}
?>
</table>
</div>
<!-- 闰年判断 -->
<div class="section">
<h2>闰年判断</h2>
<?php
$year = 2024;
echo "年份:$year<br>";
if (($year % 4 == 0 && $year % 100 != 0) || $year % 400 == 0) {
echo "$year 是闰年";
} else {
echo "$year 不是闰年";
}
?>
</div>
</body>
</html>访问页面
- 将文件保存到网站根目录
- 打开浏览器,访问
http://localhost/control-structures-demo.php - 查看页面效果
小结
通过本章的学习,你掌握了 PHP 的流程控制语句,包括条件判断(if/elseif/else、switch case)和循环语句(while、do while、for、foreach)。你还学习了 break 和 continue 语句的使用。这些流程控制语句是 PHP 编程的核心,它们使程序能够根据不同的条件执行不同的代码,或者重复执行一段代码。在后续的学习中,你将经常使用这些语句来实现各种功能。
