PHP 中的控制流,本文我们讨论流控制,我们定义了几个关键字,这些关键字使我们能够控制 PHP 脚本的流程。
PHP if
语句
if
语句具有以下一般形式:
if
关键字用于检查表达式是否为真。 如果为 true,则执行一条语句。 该语句可以是单个语句或复合语句。 复合语句由用大括号括起来的多个语句组成。
ifstatement.php
我们有一个$num
变量。 它分配了值 31。if
关键字检查布尔表达式。 表达式放在方括号之间。 表达式31 > 0
为 true,因此将执行下一条语句。 如果只有一条语句要执行,则花括号是可选的。
这是示例的输出。
ifstatement2.php
如果我们打算执行多个语句,则必须将它们放在方括号内。 如果我们不使用它们,则只会执行第一条语句。 圆括号形成了if
语句的主体。
我们可以使用else
关键字来创建一个简单的分支。 如果 if 关键字后面方括号内的表达式的值为 false,则 else 主体内的语句将自动执行。
boyorgirl.php
我们有一个$sex
变量。 它具有“女性”字符串。 布尔表达式的计算结果为 false,我们在控制台中得到“ It is a girl”。
This is the output of the example.
我们可以使用elseif
关键字创建多个分支。 仅当不满足先前条件时,elseif
关键字才会测试其他条件。 请注意,我们可以在测试中使用多个elseif
关键字。
ifelsestm.php
我们使用fgets()
功能从用户读取一个值。 将测试该值是负数还是正数或等于零。
程序的示例输出。
PHP switch
语句
switch
语句是选择控制流语句。 它允许变量或表达式的值通过多路分支控制程序执行的流程。 与使用if
和elseif
语句相比,它以更简单的方式创建多个分支。
switch
语句与其他两个关键字一起使用:case
和break
。 case
关键字用于根据圆括号中的值测试标签。 如果标签等于该值,则执行案例后面的语句。 break
关键字用于跳出switch
语句。 有一个可选的default
语句。 如果所有标签都不等于该值,则执行默认语句。
domains.php
在我们的脚本中,我们有一个 $ domains 变量。 它具有“ sk”字符串。 我们使用switch
语句测试变量的值。 有几种选择。 如果该值等于“ us”,则将“ United States”字符串打印到控制台。
我们得到“斯洛伐克”。 如果将 $ domains 变量更改为’rr’,则会得到’Unknown’字符串。
PHP while
循环
while
是一个控制流语句,它允许根据给定的布尔条件重复执行代码。
这是while
循环的一般形式:
当表达式的值为真时,while
循环执行该语句。 该语句是一个简单的语句,以分号或用大括号括起来的复合语句终止。
whilestm.php
在代码示例中,我们反复将“ PHP 语言”字符串打印到控制台。
while
循环包含三个部分:初始化,测试和更新。 语句的每次执行都称为循环。
我们启动$i
变量。 它在我们的脚本中用作计数器。
方括号内的表达式是第二阶段,即测试。 while 循环在主体中执行语句,直到表达式的计算结果为 false。
while
循环的最后第三阶段是更新。 计数器增加。 请注意,对while
循环的不正确处理可能会导致循环不断。
该程序将消息打印到控制台五次。
do while
循环是while
循环的版本。 不同之处在于,保证该版本至少运行一次。
dowhile.php
首先执行迭代,然后评估真值表达式。
while
循环通常与list()
和each()
功能一起使用。
seasons.php
$seasons
数组有四个季节。 我们浏览所有值并将它们打印到控制台。 each()
函数从数组返回当前键和值对,并前进数组光标。 当函数到达数组末尾时,它返回 false 并终止循环。 each()
函数返回一个数组。 作业的左侧也必须有一个数组。 我们使用list()
函数从两个变量创建一个数组。
这是seasons.php
脚本的输出。
PHP 关键字
for
循环与while
循环具有相同的作用。 只是将所有三个阶段(初始化,测试和更新)放在圆括号之间。 它主要用于在进入循环之前知道迭代次数的情况。
让我们举一个for
循环的例子。
forloop.php
我们每周有几天。 我们希望从阵列中打印所有这些天。
或者我们可以以编程方式找出数组中的项目数。
这里我们有for
循环结构。 这三个阶段用分号分隔。 首先,启动$i
计数器。 启动部分仅发生一次。 接下来,进行测试。 如果测试结果为 true,则执行该语句。 最后,计数器增加。 这是一个周期。 for
循环迭代直到测试表达式为假。
这是forloop.php
脚本的输出。
PHP foreach
语句
foreach
构造简化了遍历数据集合的过程。 它没有明确的计数器。 foreach
语句一个接一个地遍历数组,并将当前值复制到构造中定义的变量中。 在 PHP 中,我们可以使用它遍历数组。
foreachstm.php
在此示例中,我们使用foreach
语句遍历一系列行星。
foreach
语句的用法很简单。 $planets
是我们迭代通过的数组。 $item
是具有数组中当前值的临时变量。 foreach
语句遍历所有行星并将它们打印到控制台。
运行上面的 PHP 脚本将给出此输出。
foreach
语句还有另一种语法。 它与地图一起使用。
foreachstm2.php
在我们的脚本中,我们有一个$benelux
映射。 它包含映射到比荷卢三国的域名。 我们遍历数组并将键及其值都打印到控制台。
这是脚本的结果。
PHP break
,continue
语句
break
语句用于终止循环。 continue
语句用于跳过循环的一部分,并继续循环的下一个迭代。
testbreak.php
我们定义了一个无限的while
循环。 使用break
语句,只有一种方法可以跳出这样的循环。 我们从 1 到 30 中选择一个随机值并打印出来。 如果该值等于 22,则结束无穷的 while 循环。
我们可能会得到这样的东西。
在下面的示例中,我们打印一个数字列表,这些数字不能除以 2 而没有余数。
testcontinue.php
我们使用while
循环遍历数字 1..999。
如果表达式$num % 2
返回 0,则可以将所讨论的数字除以 2。执行continue
语句,并跳过循环的其余部分。 在我们的例子中,循环的最后一条语句将被跳过,并且数字不会输出到控制台。