(PHP 4, PHP 5, PHP 7, PHP 8)
elseif
,顾名思义,是if
和else
的组合。与else
类似,它扩展了if
语句,在原始if
表达式的计算结果为false
时执行不同的语句。但是,与else
不同的是,只有当elseif
条件表达式的计算结果为true
时,它才会执行该替代表达式。例如,以下代码将显示a 大于 b、a 等于 b或a 小于 b
<?php
if ($a > $b) {
echo "a 大于 b";
} elseif ($a == $b) {
echo "a 等于 b";
} else {
echo "a 小于 b";
}
?>
在同一个if
语句中可以有多个elseif
。第一个计算结果为true
的elseif
表达式(如果有)将被执行。在 PHP 中,可以写else if
(两个单词),其行为与elseif
(一个单词)相同。语法含义略有不同(与 C 的行为相同),但最终结果是两者都将产生完全相同的行为。
只有在前面的if
表达式和任何前面的elseif
表达式的计算结果为false
,并且当前elseif
表达式的计算结果为true
时,才会执行elseif
语句。
注意: 请注意,只有在像上面示例那样使用花括号时,
elseif
和else if
才会被视为完全相同。当使用冒号定义if
/elseif
条件时,必须使用单个单词的elseif
。如果else if
被分成两个单词,PHP 将会发生解析错误。
<?php
/* 错误方法: */
if ($a > $b):
echo $a." 大于 ".$b;
else if ($a == $b): // 将无法编译。
echo "以上行导致解析错误。";
endif;
/* 正确方法: */
if ($a > $b):
echo $a." 大于 ".$b;
elseif ($a == $b): // 注意单词的组合。
echo $a." 等于 ".$b;
else:
echo $a." 既不大于也不等于 ".$b;
endif;
?>