目录
1 顺序执行
- 任何 PHP 脚本都是由一系列语句构成的。一条语句可以是一个赋值语句,一个函数调用,一个循环,一个条件语句或者甚至是一个什么也不做的语句(空语句)。
- 语句通常以分号结束。此外,还可以用花括号将一组语句封装成一个语句组。语句组本身可以当作是一行语句。
- 无论是语句或语句组,均依次顺序执行。
2 分支执行语句
2.1 单向分支 if
- 利用if判断条件语句,为真则执行语句块,否则继续顺序执行。
- 语法:
<?php
if (expr)
{statement}
?>
2.2 双向分支 if…else
- else 延伸了 if 语句,可以在 if 语句中的表达式的值为 false 时执行语句。
- 语法:其中缩进在PHP语句中不影响执行结果,仅增强可阅读性。
<?php
if (expr)
{statement1}
else
{statement2}
?>
2.3 多向分支 if…elseif…else
- elseif,和此名称暗示的一样,是 if 和 else 的组合。和 else 一样,它延伸了 if 语句,可以在原来的 if 表达式值为 false 时执行不同语句。但是和 else 不一样的是,它仅在 elseif 的条件表达式值为 true 时执行语句。
- 语法:
<?php
if (expr)
{statement1}
elseif (expr2)
{statement2}
else
{statement3}
?>
2.4 多向分支 switch
- switch 语句类似于具有同一个表达式的一系列 if 语句。很多场合下需要把同一个变量(或表达式)与很多不同的值比较,并根据它等于哪个值来执行不同的代码。
- 语法示例:
<?php
switch ($i) {
case 0:
echo "i equals 0";
break;
case 1:
echo "i equals 1";
break;
case 2:
echo "i equals 2";
break;
}
?>
3 循环执行语句
3.1 while 循环
- while 循环是 PHP 中最简单的循环类型。当条件表达式为真时,执行语句组。
- 语法:
while (expr) {statement}
3.2 do-while 循环
- do-while 循环和 while 循环非常相似,区别在于表达式的值是在每次循环结束时检查而不是开始时检查。
- 语法:
<?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?>
3.3 for 循环
- for 循环是 PHP 中最复杂的循环结构。
- 由于其条件表达式、条件更新表达式位置明显,可读性强,建议优先考虑。
- 语法:
for (expr1; expr2; expr3) {statement}
- expr1在循环开始前无条件求值(并执行)一次。
- expr2在每次循环开始前求值。如果值为 true,则继续循环,执行嵌套的循环语句。如果值为 false,则终止循环。
- expr3在每次循环之后被求值(并执行)。
- 更多实例请参考文章《for》
3.4 foreach 循环
- foreach 语法结构提供了遍历数组的简单方式。
- foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。
- 语法:
foreach (iterable_expression as $value) //第一种格式遍历给定的 iterable_expression 迭代器。每次循环中,当前单元的值被赋给 $value。
statement
foreach (iterable_expression as $key => $value) //第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。
statement
- 更多实例请参考文章《foreach》。
4 特殊控制语句
4.1 break 语句
- 结束执行当前的 for、foreach、while、do-while、switch 结构。
- break语句接受一个数字的可选参数,决定跳出几重循环。 默认值是 1,仅仅跳出最近一层嵌套结构。
4.2 continue 语句
- 只能用在循环语句中,跳出本次循环而本事结束整个循环语句。理解好continue与break之间的区别。
- 特别地也可以应用在switch语句中,将结束整个switch语句。
4.3 exit() 与 die() 语句
用于结束当前整个程序的执行。
5 实例:九九乘法表
<?php
for ($i=1; $i<=9; $i++)
{
for ($j=1; $j<=$i; $j++)
{
echo "{$i} * {$j}=".$i*$j." ";
}
echo "<br>";
}
?>
6 总结
- 理解各种条件控制语句的执行顺序和判断条件;
- 灵活应用各种条件控制语句。
参考文献
- 《流程控制》