PHP while 循环详解
                           
天天向上
发布: 2025-03-19 21:43:07

原创
104 人浏览过

1. 什么是 while 循环?

while 循环用于在指定条件为 true重复执行代码块。当条件变为 false 时,循环停止。

📌 语法:

while (条件) {
    // 代码块
}

特点

  • 适用于 循环次数不确定 的情况
  • 先判断条件,再执行循环体
  • 只要条件 始终为 true,循环就会 无限执行(⚠️注意避免死循环)

2. while 循环示例

示例 1:打印 1-5

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

🔹 解析

  • 初始 $i = 1
  • while ($i <= 5):只要 $i 小于等于 5,执行循环体
  • $i++$i 逐步增加,避免死循环

🔹 输出结果

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

3. while 循环的常见应用

示例 2:累加求和

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

🔹 解析

  • 变量 $sum 用于累加
  • $i1 递增到 100
  • while ($i <= 100) 控制循环 运行 100 次

🔹 输出结果

1 到 100 的总和是:5050

示例 3:读取数据库数据

在实际开发中,while 往往用于 处理数据库查询结果

<?php
$conn = new mysqli("localhost", "root", "password", "testdb");
$sql = "SELECT name FROM users";
$result = $conn->query($sql);

while ($row = $result->fetch_assoc()) {
    echo "用户:" . $row["name"] . "<br>";
}
$conn->close();
?>

🔹 解析

  • 连接数据库并查询 users
  • while ($row = $result->fetch_assoc()) 逐行获取数据,直到 NULL
  • 常用于处理数据库数据

4. do...while 循环(至少执行一次)

📌 语法:

do {
    // 代码块
} while (条件);

区别

  • do...while 先执行一次代码块,然后判断条件
  • 适用于 至少执行一次 的情况

示例 4:即使条件不满足,仍然执行一次

<?php
$i = 10;
do {
    echo "当前值:" . $i . "<br>";
    $i++;
} while ($i <= 5);
?>

🔹 输出

当前值:10

即使 $i=10,但 do...while 先执行一次,再判断是否继续循环。


5. while 循环常见错误 & 解决方案

错误 1:死循环

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

⚠️ 问题

  • $i 始终大于 0,导致 无限循环,程序崩溃。

修正

<?php
$i = 1;
while ($i <= 5) {
    echo $i . "<br>";
    $i++; // 递增,确保最终条件为 false
}
?>

错误 2:变量未初始化

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

⚠️ 问题

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

修正

<?php
$i = 1; // 先定义变量
while ($i <= 5) {
    echo $i . "<br>";
    $i++;
}
?>

6. while vs for vs do...while

whiledo...whilefor
适用场景循环次数不确定至少执行一次循环次数固定
执行顺序先判断条件,再执行先执行,再判断先初始化,再执行
是否一定执行❌ 否✅ 是❌ 否

选择指南

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

7. 练习题

📝 请尝试完成以下任务

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

提示:使用 while,判断偶数 if ($i % 2 == 0)

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

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

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

提示rand(1, 100)


🔗 相关参考链接


✅ 通过本教程,你已经掌握了 PHP while 循环 的用法、实际应用和常见错误!更多详细内容请关注其他相关文章!

发表回复 0

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