写代码的时候发现else if 和elseif 都可以使用, 两种语法都不会报错, 他们的区别其实很小
elseif 与 else if 只有在类似下例中使用花括号的情况下才认为是完全相同。如果用冒号来定义 if/elseif 条件,那就不能用两个单词的 else if,否则 PHP 会产生解析错误。
也就是说, 只要加上花括号, 它们其实就没有区别, 如:
if ($a > $b) { echo 'a > b'; } elseif ($a == $b) { echo 'a = b'; } else if ($a < $b) { echo 'a < b'; }
反之如果使用 :号来定义的话, 那就只能使用 一个单词的elseif 了, 如:
/* 不正确的使用方法: */ if($a > $b): echo $a." is greater than ".$b; else if($a == $b): // 将无法编译 echo "The above line causes a parse error."; endif; /* 正确的使用方法: */ if($a > $b): echo $a." is greater than ".$b; elseif($a == $b): // 注意使用了一个单词的 elseif echo $a." equals ".$b; else: echo $a." is neither greater than or equal to ".$b; endif;
参考: http://www.php.net/manual/zh/control-structures.elseif.php