私はいくつかの PHP コードをリファクタリングしていて、ネストされた特定の組み合わせを発見しました
if () :
と
if () {
構文エラーを生成します。通常、この 2 つを混在させるわけではありませんが、コードを書いているときに頻繁に構文チェックを行うのが好きで、そのために構文エラーが発生し続けました。
例 - 構文エラーが生成されます:
if ( $test == 1 ) :
if ( $test2 == 'a' ) {
if ( $test3 == 'A' ) {
} else {
}
}
else :
echo 'test2';
endif;
例 - 構文エラーを生成しません:
if ( $test == 1 ) :
if ( $test2 == 'a' ) :
if ( $test3 == 'A' ) :
else :
endif;
endif;
else :
echo 'test2';
endif;
コードの最初のブロックがエラーを生成している理由を誰かに説明してもらえますか?