Appearance
控制流
程序不是从头到尾直线执行的,它需要根据不同情况做出判断和重复某些操作。这就是控制流的作用。
if 语句 - 做判断
💡 概念说明
当你需要让程序根据条件执行不同的代码时,就用 if 语句。它的逻辑是:"如果...就..."。
📝 基本语法
php
<?php
$age = 18;
if ($age >= 18) {
echo "你已成年";
}
?>
运行结果:会显示 你已成年
提示
条件判断需要用括号 ()
包起来,要执行的代码用花括号 {}
包起来。
📝 if-else 语句
php
<?php
$score = 55;
if ($score >= 60) {
echo "及格了";
} else {
echo "不及格";
}
?>
运行结果:会显示 不及格
📝 if-elseif-else 语句
php
<?php
$score = 85;
if ($score >= 90) {
echo "优秀";
} elseif ($score >= 80) {
echo "良好";
} elseif ($score >= 60) {
echo "及格";
} else {
echo "不及格";
}
?>
运行结果:会显示 良好
💪 练习题
练习1: 写一个程序,判断一个数字是正数、负数还是零。
查看答案
php
<?php
$num = -5;
if ($num > 0) {
echo "正数";
} elseif ($num < 0) {
echo "负数";
} else {
echo "零";
}
?>
练习2: 判断用户年龄,输出不同的电影推荐(18岁以下推荐动画片,18-60岁推荐动作片,60岁以上推荐纪录片)。
查看答案
php
<?php
$age = 25;
if ($age < 18) {
echo "推荐:动画片";
} elseif ($age <= 60) {
echo "推荐:动作片";
} else {
echo "推荐:纪录片";
}
?>
while 循环 - 重复执行
💡 概念说明
当你需要重复执行某段代码,并且不确定要重复多少次时,用 while 循环。它的逻辑是:"当...的时候,就一直..."。
📝 基本语法
php
<?php
$i = 1;
while ($i <= 5) {
echo "第 {$i} 次\n";
$i++; // 让 $i 增加 1
}
?>
运行结果:
第 1 次
第 2 次
第 3 次
第 4 次
第 5 次
注意
必须在循环内改变条件变量(如 $i++
),否则会陷入死循环(无限执行)。
📝 计算累加
php
<?php
$sum = 0;
$i = 1;
while ($i <= 100) {
$sum = $sum + $i; // 累加
$i++;
}
echo "1到100的和是: {$sum}";
?>
运行结果:1到100的和是: 5050
💪 练习题
练习1: 用 while 循环输出 10 到 1 的倒数。
查看答案
php
<?php
$i = 10;
while ($i >= 1) {
echo $i . "\n";
$i--;
}
?>
练习2: 计算 1 到 50 中所有偶数的和。
查看答案
php
<?php
$sum = 0;
$i = 2;
while ($i <= 50) {
$sum = $sum + $i;
$i = $i + 2; // 每次增加2,只处理偶数
}
echo "偶数和: {$sum}";
?>
for 循环 - 固定次数重复
💡 概念说明
当你明确知道要重复多少次时,for 循环是最佳选择。它把"初始化、判断条件、更新变量"都写在一起,更简洁。
📝 基本语法
php
<?php
for ($i = 1; $i <= 5; $i++) {
echo "循环第 {$i} 次\n";
}
?>
运行结果:
循环第 1 次
循环第 2 次
循环第 3 次
循环第 4 次
循环第 5 次
for 循环的三部分
for (初始值; 条件; 更新)
- 初始值:
$i = 1
设置起点 - 条件:
$i <= 5
什么时候停止 - 更新:
$i++
每次循环后怎么变化
📝 打印乘法表
php
<?php
for ($i = 1; $i <= 9; $i++) {
for ($j = 1; $j <= $i; $j++) {
echo "{$j} × {$i} = " . ($j * $i) . "\t";
}
echo "\n";
}
?>
运行结果:(九九乘法表)
1 × 1 = 1
1 × 2 = 2 2 × 2 = 4
1 × 3 = 3 2 × 3 = 6 3 × 3 = 9
...
📝 遍历数组
php
<?php
$fruits = ["苹果", "香蕉", "橙子"];
for ($i = 0; $i < count($fruits); $i++) {
echo $fruits[$i] . "\n";
}
?>
运行结果:
苹果
香蕉
橙子
提示
数组索引从 0 开始,所以条件是 $i < count($fruits)
而不是 <=
。
💪 练习题
练习1: 用 for 循环计算 1 到 10 的平方和(1² + 2² + 3² + ... + 10²)。
查看答案
php
<?php
$sum = 0;
for ($i = 1; $i <= 10; $i++) {
$sum = $sum + ($i * $i);
}
echo "平方和: {$sum}";
?>
练习2: 打印一个 5 行的直角三角形(用 * 号)。
查看答案
php
<?php
for ($i = 1; $i <= 5; $i++) {
for ($j = 1; $j <= $i; $j++) {
echo "*";
}
echo "\n";
}
?>
运行结果:
*
**
***
****
*****
📌 小结
- if 语句:根据条件执行不同代码,格式是
if (条件) { 代码 }
- while 循环:条件为真时重复执行,适合不确定次数的情况,别忘了更新条件变量
- for 循环:知道重复次数时使用,
for (初始; 条件; 更新)
把循环控制集中在一行