当前位置:  首页>> 技术小册>> PHP合辑1-基础入门

与其他编程语言一样,PHP中的循环用于多次执行一个语句或一组语句,直到满足特定条件为止。这帮助用户节省编写相同代码的时间和精力。

PHP支持四种类型的循环技术:

for循环
while循环
do-while循环
foreach循环
现在让我们详细了解上述每种循环:

for循环:当用户事先知道需要执行块的次数时,使用这种类型的循环。也就是说,迭代次数是预先知道的。这些类型的循环也称为入口控制循环。代码有三个主要参数,即初始化、测试条件和计数器。

语法:

  1. for (初始化表达式; 测试条件; 更新表达式) {
  2. // 要执行的代码
  3. }

在for循环中,使用一个循环变量来控制循环。首先将这个循环变量初始化为某个值,然后检查这个变量是否小于或大于计数器值。如果条件为真,则执行循环体并更新循环变量。重复这些步骤,直到达到退出条件。

初始化表达式:在这个表达式中,我们必须将循环计数器初始化为某个值。例如:$num = 1;
测试表达式:在这个表达式中,我们必须测试条件。如果条件求值为true,则执行循环体并转到更新表达式,否则我们将退出for循环。例如:$num <= 10;
更新表达式:在执行循环体后,这个表达式递增/递减循环变量的某个值。例如:$num += 2;

示例:

  1. <?php
  2. // 用于演示for循环的代码
  3. for ($num = 1; $num <= 10; $num += 2) {
  4. echo "$num \n";
  5. }
  6. ?>

输出:

  1. 1
  2. 3
  3. 5
  4. 7
  5. 9

while循环:while循环也是入口控制循环,与for循环类似,即它在循环开始时首先检查条件,如果条件为true,则进入循环并执行一组语句,并且只要条件保持为true,就会继续执行。
语法:

  1. while (如果条件为true) {
  2. // 代码被执行
  3. }

示例:

  1. <?php
  2. // 用于演示while循环的PHP代码
  3. $num = 2;
  4. while ($num < 12) {
  5. $num += 2;
  6. echo $num, "\n";
  7. }
  8. ?>

输出:

  1. 4
  2. 6
  3. 8
  4. 10
  5. 12

do-while循环:这是一个出口控制循环,这意味着它首先进入循环,执行语句,然后检查条件。因此,在使用do…while循环时,至少会执行一次语句。在执行一次后,只要条件为true,程序就会继续执行。
语法:

  1. do {
  2. // 代码被执行
  3. } while (如果条件为true);

示例:

  1. <?php
  2. // 用于演示do...while循环的PHP代码
  3. $num = 2;
  4. do {
  5. $num += 2;
  6. echo $num, "\n";
  7. } while ($num < 12);
  8. ?>

输出:

  1. 4
  2. 6
  3. 8
  4. 10
  5. 12

这段代码将展示while循环和do…while循环之间的差异。

  1. <?php
  2. // 用于演示两种循环之间的差异的PHP代码
  3. $num = 2;
  4. // 在while循环中
  5. while ($num != 2) {
  6. echo "在while循环中,代码被跳过";
  7. echo $num, "\n";
  8. }
  9. // 在do...while循环中
  10. do {
  11. $num++;
  12. echo "do...while循环代码至少执行一次 ";
  13. } while($num == 2);
  14. ?>

输出:

  1. 代码至少执行一次

foreach循环:这个循环用于遍历数组。对于每个循环的计数器,都会被分配一个数组元素,并且下一个计数器会移到下一个元素。
语法:

  1. foreach (数组元素 as 值) {
  2. // 要执行的代码
  3. }

示例:

  1. <?php
  2. $arr = array (10, 20, 30, 40, 50, 60);
  3. foreach ($arr as $val) {
  4. echo "$val \n";
  5. }
  6. $arr = array ("Ram", "Laxman", "Sita");
  7. foreach ($arr as $val) {
  8. echo "$val \n";
  9. }
  10. ?>

输出:

  1. 10
  2. 20
  3. 30
  4. 40
  5. 50
  6. 60
  7. Ram
  8. Laxman
  9. Sita