各种语言中 elseif
与 else if
都有什么区别呢?
php中好像是一样的
js中好像只有else if
c语言把 else if
写成 elseif
会报错
在写PHP代码的时候,发现 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;
再补充一个例子:
/* 正确的使用方法: */
<?php if ($a == 5): ?>
等于5
<?php elseif ($a == 6): ?>
等于6
<?php else: ?>
不是5就是6
<?php endif; ?>
我之前都是混用的,反正看着不出错,原来还有冒号那种写法,学到了。
我之前只用 else if,改别人的判断的时候都想自己重写。