文章目录
- 一、while – 只要指定的条件成立,则循环执行代码块
- 二、do…while – 首先执行一次代码块,然后在指定的条件成立时重复这个循环
- 三、for – 循环执行代码块指定的次数
- 四、foreach – 根据数组中每个元素来循环代码块
- 五、相关链接
一、while – 只要指定的条件成立,则循环执行代码块
在 PHP 中,while
循环是一种用于重复执行代码块的语句,直到指定的条件不再满足为止。它将继续执行循环体中的代码,直到条件表达式的结果为 false
。
下面是 while
循环的基本语法:
while (条件表达式) {
// 循环体中的代码
}
只要条件表达式的值为 true
,循环体中的代码就会一直执行。当条件表达式的值为 false
时,循环将终止。
下面是一个详细的案例,演示了如何使用 while
循环来打印从 1 到 10 的数字:
<?php
$counter = 1; // 初始化计数器
while ($counter 10) {
echo $counter . " "; // 打印当前计数器的值
$counter++; // 计数器递增
}
?>
在上面的示例中,我们首先初始化了一个名为 $counter
的变量,并将其值设置为 1。然后,我们使用 while
循环来检查 $counter
的值是否小于等于 10。如果是,则执行循环体中的代码,打印当前计数器的值,并将计数器递增 1。这个过程将一直重复,直到计数器的值超过 10,此时循环将终止。
运行上述代码将输出以下结果:
1 2 3 4 5 6 7 8 9 10
你可以根据自己的需求在 while
循环中添加更复杂的逻辑和代码块。只需确保在循环体中适当地更新条件表达式中涉及的变量,以便在适当的时候终止循环。
二、do…while – 首先执行一次代码块,然后在指定的条件成立时重复这个循环
在 PHP 中,do...while
循环是一种后测试循环,即它至少会执行一次循环体中的代码,然后在每次迭代结束后检查条件表达式。如果条件表达式的值为 true
,则循环将继续执行;如果为 false
,则循环将终止。
下面是 do...while
循环的基本语法:
do {
// 循环体中的代码
} while (条件表达式);
与 while
循环不同,do...while
循环会先执行循环体中的代码,然后再检查条件表达式。这意味着循环体中的代码至少会执行一次,即使条件表达式的初始值为 false
。
下面是一个详细的案例,演示了如何使用 do...while
循环来读取用户输入,直到用户输入 “quit” 为止:
<?php
$userInput = ''; // 初始化用户输入变量
do {
echo "请输入一些文本(输入 'quit' 退出):";
$userInput = trim(fgets(STDIN)); // 读取用户输入并去除两端的空格
if ($userInput !== 'quit') {
echo "你输入了:$userInputn"; // 打印用户输入的内容
}
} while ($userInput !== 'quit');
echo "已退出循环。n";
?>
在上面的示例中,我们首先初始化了一个名为 $userInput
的变量,用于存储用户输入的内容。然后,我们使用 do...while
循环来不断读取用户的输入,直到用户输入 “quit” 为止。
在循环体内,我们使用 echo
语句提示用户输入文本,并使用 fgets(STDIN)
函数从标准输入(通常是键盘)读取一行文本。然后,我们使用 trim()
函数去除输入字符串两端的空格。
接下来,我们检查 $userInput
是否不等于 ‘quit’。如果不等于,我们使用另一个 echo
语句打印出用户输入的内容。最后,在循环的末尾,我们再次检查 $userInput
的值。如果它仍然不等于 ‘quit’,循环将继续执行;否则,循环将终止。
请注意,这个示例假设你在一个可以通过命令行交互的环境中运行 PHP 代码,比如在终端或命令提示符下。在 Web 环境中,读取用户输入通常是通过表单或其他方式完成的,而不是使用 fgets(STDIN)
。
运行上述代码后,你可以输入任意文本,每次输入后都会显示你输入的内容,直到你输入 “quit” 为止。此时,循环将终止,并输出 “已退出循环。”。
三、for – 循环执行代码块指定的次数
在 PHP 中,for
循环是一种非常常用的循环结构,它允许你重复执行一段代码块指定次数。for
循环通常用于已知循环次数的场景。
下面是 for
循环的基本语法:
for (初始化表达式; 条件表达式; 更新表达式) {
// 循环体中的代码
}
-
初始化表达式
:在循环开始之前执行一次,通常用于设置循环变量的初始值。 -
条件表达式
:在每次循环迭代开始时检查,如果为true
,则执行循环体中的代码;如果为false
,则退出循环。 -
更新表达式
:在每次循环迭代结束时执行,通常用于更新循环变量。
下面是一个详细的案例,演示了如何使用 for
循环来打印从 1 到 10 的数字的平方:
<?php
for ($i = 1; $i 10; $i++) {
$square = $i * $i; // 计算平方
echo "$i 的平方是 $squaren"; // 打印结果
}
?>
在上面的示例中,我们初始化了一个名为 $i
的变量,并将其值设置为 1。然后,我们使用 for
循环来检查 $i
的值是否小于等于 10。如果是,则执行循环体中的代码。在循环体中,我们计算 $i
的平方,并将结果存储在 $square
变量中。然后,我们使用 echo
语句打印出当前 $i
的值及其平方。最后,我们使用 $i++
(即 $i = $i + 1
的简写形式)来递增 $i
的值。
运行上述代码将输出以下结果:
1 的平方是 1
2 的平方是 4
3 的平方是 9
4 的平方是 16
5 的平方是 25
6 的平方是 36
7 的平方是 49
8 的平方是 64
9 的平方是 81
10 的平方是 100
这个示例展示了如何使用 for
循环进行简单的数学运算和结果输出。你可以根据自己的需求在 for
循环中添加更复杂的逻辑和操作。只需要确保在循环体中适当地更新循环变量,以便在适当的时候终止循环。
四、foreach – 根据数组中每个元素来循环代码块
在 PHP 中,foreach
循环是一种用于遍历数组或对象的便捷方式。它会自动遍历数组或对象的每个元素,并将当前元素的值赋给一个临时变量,然后在循环体中执行相应的操作。
下面是 foreach
循环的基本语法:
foreach (数组或对象 as $key => $value) {
// 循环体中的代码
}
-
数组或对象
:要遍历的数组或对象。 -
$key
:可选的键名变量,用于存储当前元素的键名。 -
$value
:当前元素的值。
如果你不关心键名,也可以只使用 $value
变量。
下面是一个详细的案例,演示了如何使用 foreach
循环来遍历一个数组并打印出每个元素的值:
<?php
$fruits = array('apple', 'banana', 'orange', 'grape'); // 创建一个包含水果名称的数组
foreach ($fruits as $fruit) {
echo $fruit . "n"; // 打印每个水果的名称
}
?>
运行上述代码将输出以下结果:
apple
banana
orange
grape
在这个示例中,我们创建了一个名为 $fruits
的数组,它包含了四个水果的名称。然后,我们使用 foreach
循环遍历这个数组。在每次迭代中,当前水果的名称被赋给 $fruit
变量,然后我们使用 echo
语句打印出这个名称。
如果你还需要访问数组的键名,可以稍微修改一下循环的语法:
<?php
$fruits = array('a' => 'apple', 'b' => 'banana', 'c' => 'orange', 'd' => 'grape'); // 创建一个包含水果名称和键名的数组
foreach ($fruits as $key => $fruit) {
echo "键名: $key, 值: $fruitn"; // 打印键名和对应的水果名称
}
?>
运行上述代码将输出以下结果:
键名: a, 值: apple
键名: b, 值: banana
键名: c, 值: orange
键名: d, 值: grape
在这个修改后的示例中,我们使用了 $key => $fruit
的语法来同时获取键名和值。然后,在循环体中,我们打印出每个元素的键名和对应的值。
foreach
循环是处理数组和集合数据时非常有用的工具,它可以极大地简化代码并提高可读性。你可以根据自己的需求在循环体中添加任何逻辑或操作来处理数组或对象的元素。
五、相关链接
- php官网
- php_Github
- PHP实现Token
- 「PHP系列」PHP简介与起步
- 「PHP系列」PHP语法介绍
- 「PHP系列」PHP变量
- 「PHP系列」PHP echo/print语句、数据类型详解
- 「PHP系列」PHP 常量/字符串、类型比较
- 「PHP系列」PHP 运算符详解
- 「PHP系列」If…Else语句/switch语句
- 「PHP系列」数组详解
- 「PHP系列」PHP数组排序及运用场景