PHP 基础教程
PHP 高级教程
PHP & MySQL DATABASE
PHP 示例
PHP 参考手册

PHP 循环

在本教程中,您将学习如何在 PHP 中使用循环重复一系列操作。

PHP 中不同类型的循环

只要满足某个条件,循环就会一次又一次地执行相同的代码块。 循环背后的基本思想是自动执行程序中的重复性任务,以节省时间和精力。 PHP 支持四种不同类型的循环。

  • while — 只要指定条件的计算结果为真,就循环一段代码。
  • do…while — 代码块执行一次,然后评估条件。 如果条件为真,只要指定的条件为真,语句就会重复。
  • for — 循环遍历一段代码,直到计数器达到指定的数字。
  • foreach — 循环遍历数组中每个元素的代码块。

您还将在本章末尾学习如何使用 foreach() 循环遍历数组的值。 foreach() 循环专门用于数组。


PHP while 循环

只要 while 语句中指定的条件评估为真,while 语句就会循环一段代码。

while(condition){
    // 要执行的代码
}

下面的示例定义了一个以 $i=1 开头的循环。 只要 $i 小于或等于 3,循环就会继续运行。每次循环运行时,$i 都会增加 1:

<?php
$i = 1;
while($i <= 3){
    $i++;
    echo "The number is " . $i . "<br>";
}
?>

PHP do…while 循环

do-while 循环是 while 循环的变体,它在每次循环迭代结束时评估条件。 使用 do-while 循环,代码块执行一次,然后评估条件,如果条件为真,只要指定的条件评估为真,语句就会重复。

do{
    // 要执行的代码
}
while(condition);

以下示例定义了一个以 $i=1 开头的循环。 然后它将 $i 增加 1,并打印输出。 然后评估条件,只要 $i 小于或等于 3,循环就会继续运行。

<?php
$i = 1;
do{
    $i++;
    echo "The number is " . $i . "<br>";
}
while($i <= 3);
?>

while 和 do…while 循环之间的区别

while 循环与 do-while 循环在一个重要方面有所不同 — 使用 while 循环,要评估的条件在每次循环迭代开始时进行测试,因此如果条件表达式的计算结果为 false,则永远不会执行循环。

另一方面,对于 do-while 循环,即使条件表达式为假,循环也将始终执行一次,因为条件是在循环迭代结束时计算的,而不是 开始。


PHP for 循环

只要满足某个条件,for 循环就会重复一段代码。 它通常用于执行一段代码一定次数。

for(initialization; condition; increment){
    // 要执行的代码
}

for 循环的参数含义如下:

  • initialization — 它用于初始化计数器变量,并在第一次执行循环体之前无条件地计算一次。
  • condition — 在每次迭代开始时,都会评估条件。 如果结果为 true,则循环继续并执行嵌套语句。 如果结果为 false,则循环执行结束。
  • increment — 它用新值更新循环计数器。 它在每次迭代结束时进行评估。

下面的示例定义了一个以 $i=1 开头的循环。 循环将一直持续到 $i 小于或等于 3。每次循环运行时,变量 $i 都会增加 1:

<?php
for($i=1; $i<=3; $i++){
    echo "The number is " . $i . "<br>";
}
?>

PHP foreach 循环

foreach 循环用于遍历数组。

foreach($array as $value){
    // 要执行的代码
}

下面的例子演示了一个循环,它将打印给定数组的值:

<?php
$colors = array("Red", "Green", "Blue");
 
// 循环遍历颜色数组
foreach($colors as $value){
    echo $value . "<br>";
}
?>

foreach 循环还有一个语法,它是第一个循环的扩展。

foreach($array as $key => $value){
    // 要执行的代码
}
<?php
$superhero = array(
    "name" => "Peter Parker",
    "email" => "peterparker@mail.com",
    "age" => 18
);
 
// 循环遍历superhero数组
foreach($superhero as $key => $value){
    echo $key . " : " . $value . "<br>";
}
?>
Advertisements