第 7 章 控制结构
目录
if else elseif 流程控制的替代语法 while do-while for foreach break continue switch declare Ticks return require include require_once include_once
任何 PHP 脚本都是由一系列语句构成的。一条语句可以是一个赋值语句,一个 一个条件语句或者甚至是一个什么也不做的语句 (空语句) 。 函数调用, 一个循环, 语句通常以分号结束。此外,还可以用花括号将一组语句封装成一个语句组。语 句组本身可以当作是一行语句。本章讲述了各种语句类型。
if
if 结构是很多语言包括 PHP 在内最重要的特性之一, 它允许按照条件执行代码 片段。PHP 的 if 结构和 C 语言相似:
expr 按照布尔求值。如果 expr 的值为 TRUE,PHP 将执行 statement,如果值 为 FALSE - 将忽略 statement。有关哪些值被视为 FALSE 的更多信息参见转
换为布尔值一节。 如果 $a 大于 $b,则以下例子将显示 a is bigger than b:
copy to clipboard
$b) echo "a is bigger than b"; ?> 经常需要按照条件执行不止一条语句,当然并不需要给每条语句都加上一个 if 子句。可以将这些语句放入语句组中。例如,如果 $a 大于 $b,以下代码将显 示 a is bigger than b 并且将 $a 的值赋给 $b:
copy to clipboard
$b) { echo "a is bigger than b"; $b = $a; } ?> if 语句可以无限层地嵌套在其它 if 语句中,这给
程序的不同部分的条件执行 提供了充分的弹性。
<< 类型运算符 Main : 语言参考 : 控制结构 This page online Report a bug else >>
else
经常需要在满足某个条件时执行一条语句,而在不满足该条件时执行其它语句, 这正是 else 的功能。else 延伸了 if 语句,可以在 if 语句中的表达式的值 为 FALSE 时执行语句。例如以下代码在 $a 大于 $b 时显示 a is bigger than b,反之则显示 a is NOT bigger than b: copy to clipboard $b) { echo "a is bigger than b"; } else { echo "a is NOT bigger than b"; } ?> else 语句仅在 if 以及 elseif 如果有的话) ( 语句中的表达式的值为 FALSE 时 执行(参见 elseif)。
<< 控制结构
Main : 语言参考 : 控制结 构 : else This page online Report a bug
elseif >>
elseif
elseif,和此名称暗示的一样,是 if 和 else 的组合。和 else 一样,它延伸 了 if 语句,可以在原来的 if 表达式值为 FALSE 时执行不同语句。但是和 else 不一样的是,它仅在 elseif 的条件表达式值为 TRUE 时执行语句。例如 以下代码将根据条件分别显示 a is bigger than b,a equal to b 或者 a is smaller than b: copy to clipboard $b) { echo "a is bigger than b"; } elseif ($a == $b) { echo "a is equal to b"; } else { echo "a is smaller than b"; } ?> 在同一个 if 结构中可以有多个 elseif 语句。第一个表达式值为 T
RUE 的 elseif 语句(如果有的话)将会执行。在 PHP 中,也可以写成“else if”(两 个单词),它和“elseif”(一个单词)的行为完全一样。句法分析的含义有少 许区别(如果你熟悉 C 语言的话,这是同样的行为),但是底线是两者会产生 完全一样的行为。 elseif 的语句仅在之前的 if 或 elseif 的表达式值为 FALSE,而当前的 elseif 表达式值为 TRUE 时执行。 Main : 语言参考 : 控制结 构 : elseif This page online Report a bug 流程控制的替代语 法 >>
<< else
流程控制的替代语法
PHP 提供了一些流程控制的替代语法, 包括 if, while, for, foreach 和 switch。 替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别 换成 endif;,endwhile;,endfor;,endforeach; 以及 endswitch;。 copy to clipboard A is equal to 5 在上面的例子中,HTML 内容“A is equal to 5”用替代语法嵌套在 if 语句中。 该
HTML 的内容仅在 $a 等于 5 时显示。 替代语法同样可以用在 else 和 elseif 中。下面是一个包括 elseif 和 else 的 if 结构用替代语法格式写的例子: copy to clipboard