(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;
?>