在本 PHP 教程中,您将学习 PHP 中的所有条件语句。我们将详细讨论不同类型的条件语句,即 for 循环、嵌套 for 循环、while 循环、嵌套 while 循环、do…while 循环和 foreach 循环。
for 循环用于将代码块集执行指定次数。
语法
for(initialization; condition; increment/decrement){
//code to be executed
}
for 循环中有三个参数:

for ($i = 1; $i <= 10; $i++) {
echo "$i ";
}
输出
1 2 3 4 5 6 7 8 9 10
在上面的示例中,我们打印从1 到 10 的数字。为此,我们首先将变量“i”初始化为值“1”,然后在条件参数中检查条件“i <= 10”,如果条件为真,则执行 for 循环块,执行后,将执行增量/减量参数,其中变量“i”的值增加,循环将继续,直到条件 “i <= 10”变为假。
嵌套 for 循环是指在一个 for 循环内使用另一个 for 循环。当外层 for 循环的条件为真时,内层 for 循环将被执行。在嵌套 for 循环中,外层 for 循环的每次迭代,内层 for 循环将执行整个迭代,直到内层 for 循环的条件变为假,并且将一直持续到外层 for 循环的条件变为 FALSE。
for ($i = 1; $i <= 3; $i++) {
for ($j = 1; $j <= 5; $j++){
echo "$i * $j = ". $i * $j. "\n";
}
}
输出
1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 1 * 4 = 4 1 * 5 = 5 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 3 * 4 = 12 3 * 5 = 15
在上面的示例中,我们打印 1、2 和 3 的乘法。为此,我们使用了嵌套的 for 循环。这里我们首先使用了一个 for 循环,其参数为“i = 1”作为初始化,“i <= 3”作为条件,“i++”作为增量。然后在 for 循环块中,我们有另一个 for 循环,其参数为“j = 1”作为初始化,“j <= 5”作为条件,“j++”。在内层 for 循环的块中,我们打印乘法。我们还可以看到,在外层 for 循环的第一次迭代中,内层 for 循环将执行整个迭代,直到条件变为假。 直到外层 for 循环的条件变为 FALSE,它将一直持续。
while 循环用于执行代码块集,直到指定的条件变为假。while 循环也称为入口控制循环,因为在 while 循环中,首先检查条件,如果条件为 TRUE,则执行代码块,否则将退出循环。
语法
while(condition){
//code to be executed
}

$i = 1;
while ($i <= 10) {
echo "$i ";
$i++;
}
输出
1 2 3 4 5 6 7 8 9 10
在上面的示例中,我们打印从 1 到 10 的数字。为此,我们首先将变量“i”初始化为值“1”,然后在 while 循环中检查条件“i <= 10”,如果条件为真,则执行 while 循环块,在代码块中,我们打印变量“i”的当前值,然后增加变量“i”的值,然后再次检查 while 循环的条件,如果为TRUE,则再次执行代码块,循环将继续,直到 while 条件变为FALSE。
嵌套 while 循环是指在一个while 循环内使用另一个while 循环。当外层 while 循环的条件为真时,内层 while 循环将被执行。在嵌套 while 循环中,外层 while 循环的每次迭代,内层 while 循环将执行整个迭代,直到内层 while 循环的条件变为假,并且将一直持续到外层while 循环的条件变为 FALSE。
$i = 1;
while ($i <= 3) {
$j = 1;
while ($j <= 5){
echo "$i * $j = ". $i * $j. "\n";
$j++;
}
$i++;
}
输出
1 * 2 = 2 1 * 3 = 3 1 * 4 = 4 1 * 5 = 5 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 3 * 4 = 12 3 * 5 = 15
在上面的示例中,我们打印 1、2 和 3 的乘法。为此,我们现在使用了嵌套的 while 循环。在这里,我们首先将变量“i = 1”初始化,并使用一个带有条件“i <= 3”的 while 循环。然后在 while 循环块中,我们有另一个 while 循环,我们首先将变量“j = 1”初始化,并使用另一个带有条件“j <= 5”的 while 循环。在 while 循环的块中,我们相乘并打印结果,然后增加变量“j”的值,在内层 while 循环的外部,我们增加变量“i”的值,并且将执行这些操作,直到外层 while 循环的条件变为 FALSE。
do while 循环与 while 循环大部分相似;它将根据条件迭代代码块。但在 do while 循环中,代码块将至少执行一次。do while 循环也称为退出控制循环,因为在块循环中,首先执行代码块,然后检查条件。
语法
do{
//code to be executed
}while(condition);

$i = 1;
do{
echo "$i ";
$i++;
}while($i <= 10);
输出
1 2 3 4 5 6 7 8 9 10
在上面的示例中,我们打印从 1 到 10 的数字。为此,我们首先将变量“i”初始化为值“1”,然后在 do while 循环中,我们首先执行 do 块,在该块中我们打印变量“i”的当前值,并且还增加变量“i”的值,然后检查 while 中的条件“i <= 10”,如果条件为真,则我们再次执行 do 块,循环将继续,直到 while 条件变为 FALSE。
| while 循环 | do while 循环 |
|---|---|
| 它也称为入口控制循环 | 它也称为退出控制循环 |
| 它将首先检查条件,如果条件为真,则执行循环块 | 它将首先执行循环块,然后检查条件。 |
| 仅当条件为真时,它才会执行代码块 | 它将至少执行一次代码块 |
| 它不会使用分号来终止循环 | 它使用分号来终止循环 |
foreach 循环用于遍历数组和对象中的每个元素。它传递数组或对象的值。在每次迭代中,它都会遍历所有元素。
foreach ($array as $value) {
//code to be executed
}

$weeks = array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
foreach ($weeks as $week){
echo "$week ";
}
输出
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
在上面的示例中,我们打印星期几。为此,我们首先初始化了一个数组“weeks”,其值为星期几。然后在 foreach 中,我们将数组“weeks”作为值“week”传递,并在循环块中打印“week”的值。