PHP for 循环详解
                           
天天向上
发布: 2025-03-19 21:45:08

原创
378 人浏览过

1. 什么是 for 循环?

for 循环是一种 循环次数确定 的循环结构,通常用于 已知需要执行多少次 的情况。

📌 语法:

for (初始化; 条件; 递增/递减) {
    // 代码块
}

参数解析

  • 初始化:设置 循环变量的初始值(仅执行一次)
  • 条件:每次循环前都会检查,true 则执行循环,否则终止
  • 递增/递减:每次循环后 更新变量,避免死循环

2. for 循环示例

示例 1:打印 1-5

<?php
for ($i = 1; $i <= 5; $i++) {
    echo "当前数值:" . $i . "<br>";
}
?>

🔹 解析

  1. $i = 1(初始化)
  2. while ($i <= 5) 判断条件,满足执行循环体
  3. $i++(每次循环递增)
  4. 直到 $i > 5,循环终止

🔹 输出结果

当前数值:1
当前数值:2
当前数值:3
当前数值:4
当前数值:5

3. for 循环的常见应用

示例 2:累加求和

<?php
$sum = 0;
for ($i = 1; $i <= 100; $i++) {
    $sum += $i;
}
echo "1 到 100 的总和是:" . $sum;
?>

🔹 输出

1 到 100 的总和是:5050

示例 3:遍历数组

<?php
$fruits = ["苹果", "香蕉", "橘子", "葡萄"];
for ($i = 0; $i < count($fruits); $i++) {
    echo "水果:" . $fruits[$i] . "<br>";
}
?>

🔹 输出

水果:苹果
水果:香蕉
水果:橘子
水果:葡萄

示例 4:倒序循环

<?php
for ($i = 10; $i >= 1; $i--) {
    echo $i . " ";
}
?>

🔹 输出

10 9 8 7 6 5 4 3 2 1

4. for 循环的高级用法

示例 5:嵌套 for

<?php
for ($i = 1; $i <= 3; $i++) {
    for ($j = 1; $j <= 3; $j++) {
        echo "($i, $j) ";
    }
    echo "<br>";
}
?>

🔹 输出

(1, 1) (1, 2) (1, 3) 
(2, 1) (2, 2) (2, 3) 
(3, 1) (3, 2) (3, 3)

示例 6:九九乘法表

<?php
for ($i = 1; $i <= 9; $i++) {
    for ($j = 1; $j <= $i; $j++) {
        echo "$j x $i = " . ($j * $i) . "\t";
    }
    echo "<br>";
}
?>

🔹 输出

1 x 1 = 1  
1 x 2 = 2  2 x 2 = 4  
1 x 3 = 3  2 x 3 = 6  3 x 3 = 9  
...

5. for vs while vs do...while

forwhiledo...while
适用场景循环次数确定循环次数不确定至少执行一次
执行顺序初始化 → 判断 → 执行 → 递增判断 → 执行先执行 → 再判断
是否一定执行❌ 否❌ 否✅ 是

选择指南

  • 循环次数确定for
  • 循环次数不确定while
  • 至少执行一次do...while

6. for 循环常见错误 & 解决方案

错误 1:死循环

<?php
for ($i = 1; $i > 0; $i++) {  // 没有终止条件
    echo $i . "<br>";
}
?>

⚠️ 问题

  • $i 一直递增,导致 无限循环,程序崩溃。

修正

<?php
for ($i = 1; $i <= 10; $i++) {
    echo $i . "<br>";
}
?>

错误 2:变量未初始化

<?php
for (; $i <= 5; $i++) {  // 缺少初始化
    echo $i . "<br>";
}
?>

⚠️ 问题

  • $i 未初始化,可能导致 Undefined variable 错误。

修正

<?php
for ($i = 1; $i <= 5; $i++) {
    echo $i . "<br>";
}
?>

7. 练习题

📝 请尝试完成以下任务

练习 1:输出 1 到 10 的偶数

提示:使用 if ($i % 2 == 0)

练习 2:计算 1 到 50 的奇数和

提示:累加奇数 if ($i % 2 != 0)

练习 3:生成 5 个随机数并输出

提示rand(1, 100)


🔗 相关参考链接

更多详细内容请关注其他相关文章!

发表回复 0

Your email address will not be published. Required fields are marked *