if 语句是很多语言包括 PHP 在内的最重要的特性之一,它允许按照条件执行代码片段。PHP 的 if 语句和 C 语言相似。

基础语法

<?php
if (expr)
  statement
?>

expr 按照布尔求值。如果 expr 的值为 true,PHP 将执行 statement,如果值为 false 则会忽略 statement。翻译成汉语的意思就是:如果(条件成立)那么(做指定的事情)

如果 $a 大于 $b,则以下例子将显示 a is bigger than b:

<?php
if ($a > $b)
  echo "a is bigger than b";
?>

带大括号的语法

一般情况下,需要按照条件执行的往往不止一条语句。我们并不需要给每条语句都加上一个 if 子句,更常用的语法是将这些语句放入一堆大括号中。例如,如果 $a 大于 $b,以下代码将显示 a is bigger than b 并且将 $a 的值赋给 $b

<?php
if ($a > $b) {
  echo "a is bigger than b";
  $b = $a;
}
?>

if 语句的替代语法

PHP 提供了一些流程控制的替代语法,包括 ifwhileforforeach 和 switch。替代语法的基本形式是把左花括号({)换成冒号(:),把右花括号(})分别换成 endif;endwhile;endfor;endforeach; 以及 endswitch;

以下代码与本文第一个示例效果相同,如果 $a 大于 $b,则显示 a is bigger than b。

<?php if ($a > $b): ?>
echo "a is bigger than b";
<?php endif; ?>

if else 语句

往往我们需要在满足某个条件时执行一条语句,而在不满足该条件时执行其它语句,这就要用到if else语句。else 延伸了 if 语句,可以在 if 语句中的表达式的值为 false 时执行语句。翻译成汉语的意思就是:如果(条件成立)那么(做指定的事情),否则(做另外一件事)

例如以下代码在 $a 大于 $b 时显示 a is bigger than b,反之则显示 a is NOT bigger than b:

<?php
if ($a > $b) {
  echo "a is greater than b";
} else {
  echo "a is NOT greater than b";
}
?>

elseif/else if 语句

elseif也可以写作else if是 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) {
    echo "a is bigger than b";
} elseif ($a == $b) {
    echo "a is equal to b";
} else {
    echo "a is smaller than b";
}
?>

好了,以上就是PHP中的if语句的全部使用方式,是不是很简单,接下来尝试着在实践中运用吧。