前言:在php中,我们用到的if语句并不少,我说直白点,if就是如果,如果 苹果大于5kg,证明是大苹果,如果小于5kg,证明是小苹果,如果等于5k,证明刚好好。我这么举例只是为了让零基础的更佳能够理解,当然了,也不仅仅是这种应用。下面我们带着疑问来学习一下。
任何 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:
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:
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 时执⾏。