PHP 控制语句

2025年6月6日 | 阅读 7 分钟

控制语句让用户能够选择程序指令的执行顺序。它们允许程序执行特定命令、重复执行各种任务,甚至在不同的代码段之间切换。

PHP 控制语句是条件语句,如果条件为真,则执行一个语句块。除非满足条件,否则条件块中的语句将不会运行。

PHP 控制语句:它们是什么?

PHP 的控制语句改变语句的执行方式并控制其他语句是否执行。这些语句对于管理程序的流程很有用。程序通常从上到下流向,但如果我们想在满足条件时运行一小段代码怎么办?

在 PHP 中,我们使用诸如 while 或 do-while 循环之类的循环,或者诸如 if-else 条件之类的控制语句。

控制语句的类型

  • 条件或选择语句
  • 循环或迭代语句
  • 跳转语句

1. PHP 条件语句

第一种 PHP 控制语句,通常称为条件语句,对于任何编程语言都有两种基本类型。

  • IF、ELSE 和 ELSEIF
  • SWITCH

IF、ELSE 和 ELSEIF 语句

本节将介绍两种条件语句之一:if、else 和 elseif 语句。

当需要针对一系列值检查条件时,使用 if 语句。其语法如下:

示例

输出

 
Grade: B

if、elseif 和 else 的组合使用是可选的。尽管 if 语句必须存在才能使用 else 和 elseif 关键字,但 if 关键字可以单独使用。

示例

输出

 
Today is : 05
Starting of the month

然而,由于 elseif 表达式之前没有 if 语句,以下代码将产生错误。

示例

输出

 
Parse error: syntax error, unexpected 'elseif' (T_ELSEIF) in main.php on line 4

PHP Switch 语句

当条件包含特定值而不是一系列值时,使用 switch 语句。在任何编程语言中,switch 语句的语法如下:

示例

输出

 
Good effort! You received a B.

Try a bit harder to reach an A.

2. PHP 循环语句

循环语句是 PHP 中控制语句的另一个方面。当我们要重复运行一段代码预设的次数时,使用循环语句,而不是在脚本中添加类似的代码行并使程序复杂化。循环会执行其中包含的代码块,直到条件仍然为真。

PHP 语言中存在以下四种循环。

While 循环

直到满足指定条件,while 循环中包含的代码块才会运行。

语法

示例

输出

 
Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5

Do while 循环

此循环与 while 循环不同之处在于,它在不验证任何条件的情况下运行代码块一次。指定的条件也产生真值。这意味着即使条件为假,do-while 循环也会运行代码块一次。

语法

示例

输出

 
Number is: 1
Number is: 2
Number is: 3
Number is: 4
Number is: 5

在此 PHP 代码中,变量 $number 初始化为值 1。do...while 循环然后开始执行 do 部分中的代码块。此块打印 $number 的当前值,后跟一个换行符。打印后,使用 $number++ 将 $number 的值递增 1。

然后循环检查 while 子句中指定的条件,即 $number 是否小于或等于 5。如果条件为真,循环继续;否则,循环停止。由于 do...while 循环在执行代码块后评估条件,因此无论条件在第一次检查时是否为真,循环都将始终至少运行一次。

For 循环

当我们知道要运行特定代码块的次数时,我们将其放入 for 循环中并定义条件。

语法

  • 初始化: 设置一个起始值(在开始时运行一次)。
  • 条件: 在每次循环迭代之前检查;如果为真,则循环运行。
  • 增量/减量: 在每次迭代后更新循环变量。

示例

输出

 
Number: 1
Number: 2
Number: 3
Number: 4
Number: 5

Foreach 循环

当我们要对数组中的每个元素执行一段代码时,使用 foreach 循环。

语法

示例

输出

 
Color: Red
Color: Green
Color: Blue

在此示例中,我们有一个名为 $colors 的数组,其中包含三个颜色名称。foreach 循环遍历数组中的每个元素。对于每次迭代,当前元素都会分配给变量 $color,循环内的代码会打印该颜色。此循环非常适合遍历数组,因为它简化了访问每个元素的过程,而无需手动管理索引。

3. PHP 跳转语句

骨折

我们使用 break 语句来退出循环。关键字 break 会中断 for、while、do-while、switch 和 for-each 循环的运行。在指定条件下,此语句停止循环的当前流程并继续执行循环外的下一行代码。

语法

示例

输出

 
Value: 1  
Value: 2  
Value: 3

此循环从 1 开始运行到 10,但当 $i 等于 4 时,break 语句执行。这会导致循环立即停止,因此 3 之后的值不会打印。当您想根据条件提前退出循环时,break 很有用。

Continue

break 语句和此语句不同。为了继续循环的下一次迭代和程序的当前流程,它仅在定义的条件下中断循环或跳过代码执行。

语法

示例

输出

 
Number: 1  
Number: 2  
Number: 4  
Number: 5

在此示例中,for 循环打印从 1 到 5 的数字。但是,当 $i 等于 3 时,continue 语句会导致循环跳过该迭代的其余代码并转到下一个值。因此,3 没有打印出来。


下一主题PHP 程序