PHP里elseif与else if在这种情况下效果一样

PHP的if判断语句常常用到,大家用得应该很熟了,这里主要讲的是一个细节问题,就是if语句里的elseif的写法问题,到底elseif中间要不要加空格,加与不加有何区别。

PHP里elseif与else if在这种情况下效果一样

PHP里if语法可以使用冒号:,也可以使用大括号{},当使用大括号时,elseifelse if的写法都正确,效果是一样的。

<?php
//下面写法正确
$a = 1;  
$b = 2;  
if ($a > $b) {  
    echo 'a大于b';  
} else if ($a < $b) { 
    echo 'a小于b';  
} else { 
    echo 'a等于b'; 


//下面写法正确
$a = 1;  
$b = 2;  
if ($a > $b) {  
    echo 'a大于b';  
} elseif ($a < $b) { 
    echo 'a小于b';  
} else { 
    echo 'a等于b'; 
}
?>

 PHP里elseif与else if这种情况下不一样

上面提到,PHP里if语法可以使用冒号:,但在冒号语法里,elseifelse if是不一样的。

<?php  
/*正确的写法*/  
$a = 1;  
$b = 2;  
if ($a > $b):  
    echo 'a大于b';  
elseif ($a < $b):  
    echo 'a小于b';  
else:  
    echo 'a等于b';  
endif;  
  
/*错误的写法,解析器会报错*/  
$a = 1;  
$b = 2;  
if ($a > $b):  
    echo 'a大于b';  
else if ($a < $b):  
    echo 'a小于b';  
else:  
    echo 'a等于b';  
endif;  
?> 

解析器报错:

解析器报错:语法错误(点击图片放大)

总结

PHP里if语法可以使用冒号:,也可以使用大括号{},当使用大括号时,elseifelse if的写法都正确,效果是一样的,但当使用冒号时,elseif中间不能加空格,否则解析器会报语法错误。