Skip to content

PHP For 循环

循环是编程中基本的控制结构,允许您重复执行一段代码。PHP 提供了几种类型的循环;本教程重点介绍 for 和 foreach。

for 循环通常在你事先知道循环需要运行多少次时使用。它使用一个计数器来跟踪迭代次数。

for (expr1; expr2; expr3) { // code to be executed; // 要执行的代码; }

组成部分:

  • expr1 (初始化): 在循环开始时执行一次。通常用于初始化循环计数器(例如,$i = 0)。
  • expr2 (条件): 在每次循环迭代 之前 进行评估。如果评估结果为 true,则循环继续。如果评估结果为 false,则循环终止。
  • expr3 (递增/递减): 在每次循环迭代 结束时 执行。通常用于修改循环计数器(例如,$i++)。

示例:显示从 1 到 5 的数字

<?php
declare(strict_types=1);
echo "Counting from 1 to 5:\n"; // 从 1 数到 5:
for ($i = 1; $i <= 5; $i++) {
echo "The number is: {$i} <br>"; // 数字是:
}
?>

输出:

Counting from 1 to 5:
The number is: 1
The number is: 2
The number is: 3
The number is: 4
The number is: 5

foreach 循环提供了一种简单的方法来迭代数组和其他可迭代对象(例如实现 Iterator 接口的对象)。它简化了遍历集合的过程,无需管理计数器或检查数组边界。

foreach ($iterable as $value) { // code to be executed using $value; // 使用 $value 执行的代码; }

在每次迭代中,可迭代对象 $iterable 中当前元素的值被赋值给 $value,并且可迭代对象的内部指针前进。

foreach ($iterable as $key => $value) { // code to be executed using $key and $value; // 使用 $key 和 $value 执行的代码; }

这种形式在每次迭代中同时赋值当前元素的键(数组索引或对象属性名)和值。

示例:显示数组中的颜色

<?php
declare(strict_types=1);
$colors = ["red", "green", "blue", "yellow"];
echo "Available colors (values only):<br>"; // 可用的颜色(仅值):
foreach ($colors as $value) {
// Using htmlspecialchars for safe output in HTML context
// 在 HTML 上下文中使用 htmlspecialchars 进行安全输出
echo htmlspecialchars($value, ENT_QUOTES, 'UTF-8') . "<br>";
}
echo "<br>Available colors (keys and values):<br>"; // 可用的颜色(键和值):
$settings = ['theme' => 'dark', 'fontSize' => 12, 'showTips' => true];
foreach ($settings as $key => $value) {
echo htmlspecialchars($key, ENT_QUOTES, 'UTF-8') . ": " .
htmlspecialchars((string)$value, ENT_QUOTES, 'UTF-8') . "<br>";
}
?>

输出:

Available colors (values only):
red
green
blue
yellow

Available colors (keys and values):
theme: dark
fontSize: 12
showTips: 1

当您需要处理每个元素时,foreach 通常是遍历数组和对象的首选方法。

您将在专门的 PHP 数组章节中了解更多关于数组的内容。