[php]よく忘れるelseifとelse ifの理解

一緒だけど違う

こういう話

早見的な。

{}だと一緒

$num = 20;

//else if
if($num > 10){
    print 'if';
}else if($num > 5){
    print 'else if';
}else{
    print 'else';
}

//elseif
if($num > 10){
    print 'if';
}elseif($num > 5){
    print 'elseif';
}else{
    print 'else';
}

どっちでもいい。

{}だとelse ifとelseifどちらでも動く

:だと違う

$num = 20;

//else if
if($num > 10):
    print 'if';
else if($num > 5):
    print 'else if';
else:
    print 'else';
endif;

//else if
if($num > 10):
    print 'if';
elseif($num > 5):
    print 'else if';
else:
    print 'else';
endif;

:でelse ifを使うとエラーを吐く

:で使えるのはelseifだけ。

つまり

phpだけでいえば:でも{}でも使えるelseifでやっておけば安心ではある。

だけどelse ifと{}のセットはjsでも同じなので言語をまたいで一括できる。phpに慣れきった頃に久しぶりにjsを書いたら躓くことがあるので、予防になる。

まあ、色々に対応できるように結局仕様をきちんと覚えておくしかない。

個人的には見やすい:が好き。

コメント

タイトルとURLをコピーしました