任何 php 脚本都是由一系列语句构成的,一条语句可以是一个赋值语句,一个函数调用,一个循环,甚至一个什么也不做的(空语句)条件语句,语句通常以分号结束,此外,还可以用花括号将一组语句封装成一个语句组,语句组本身可以当作是一行语句,本章讲述了各种语句类型.
if:if 结构是很多语言包括 php 在内最重要的特性之一,它允许按照条件执行代码片段,php 的 if 结构和 c 语言相似:
- if (expr)
- statement
如同在表达式一章中定义的,expr 按照布尔求值,如果 expr 的值为 true,php 将执行 statement,如果值为 false - 将忽略 statement,有关哪些值被视为 false 的更多信息参见“转换为布尔值”一节.
如果 $a 大于 $b,则以下例子将显示 a is bigger than b:
- <?php
- if ($a > $b)
- print "a is bigger than b";
- ?>
经常需要按照条件执行不止一条语句,当然并不需要给每条语句都加上一个 if 子句,可以将这些语句放入语句组中,例如,如果 $a 大于 $b,以下代码将显示 a is bigger than b 并且将 $a 的值赋给 $b:
- <?php
- if ($a > $b) {
- print "a is bigger than b";
- $b = $a;
- }
- ?>
if 语句可以无限层地嵌套在其它 if 语句中,这给程序的不同部分的条件执行提供了充分的弹性.
else:经常需要在满足某个条件时执行一条语句,而在不满足该条件时执行其它语句,这正是 else 的功能,else 延伸了 if 语句,可以在 if 语句中的表达式的值为 false 时执行语句,例如以下代码在 $a 大于 $b 时显示 a is bigger than b,反之则显示 a is not bigger than b:
- <?php
- if ($a > $b) {
- print "a is bigger than b";
- } else {
- print "a is not bigger than b";
- }
- ?>
else 语句仅在 if 以及 elseif(如果有的话)语句中的表达式的值为 false 时执行(参见 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:
- <?php
- if ($a > $b) {
- print "a is bigger than b";
- } elseif ($a == $b) {
- print "a is equal to b";
- } else {
- print "a is smaller than b";
- }
- ?>
在同一个 if 结构中可以有多个 elseif 语句,第一个表达式值为 true 的 elseif 语句(如果有的话)将会执行,在 php 中,也可以写成“else if”(两个单词),它和“elseif”(一个单词)的行为完全一样,句法分析的含义有少许区别(如果你熟悉 c 语言的话,这是同样的行为),但是底线是两者会产生完全一样的行为.
elseif 的语句仅在之前的 if 或 elseif 的表达式值为 false,而当前的 elseif 表达式值为 true 时执行.
else:经常需要在满足某个条件时执行一条语句,而在不满足该条件时执行其它语句,这正是 else 的功能,else 延伸了 if 语句,可以在 if 语句中的表达式的值为 false 时执行语句,例如以下代码在 $a 大于 $b 时显示 a is bigger than b,反之则显示 a is not bigger than b:
- <?php
- if ($a > $b) {
- print "a is bigger than b";
- } else {
- print "a is not bigger than b";
- }
- ?>
else 语句仅在 if 以及 elseif(如果有的话)语句中的表达式的值为 false 时执行(参见 elseif).
新闻热点
疑难解答