Точка с запятой после того, как условие в PHP – код все еще работает

рассмотрим следующий код …

if ($condition); // <-- do not miss semicolon here! { //... } 

После этого код внутри блока работает. Может кто-нибудь объяснить мне, почему я не получаю синтаксическую ошибку?

Я бы посоветовал вам прочитать инструкцию здесь:

http://php.net/manual/en/control-structures.if.php

Вам прямо вопрос, почему: you don't get a syntax error ?
-> Просто потому, что нет синтаксической ошибки!

Ваш код верен и означает следующее:

 if ($condition) ; // ^condition ^if true execute that line //same as if ($condition) ; //same example with other line if the condition is true if ($condition) echo "true"; if ($condition) echo "true"; 

Итак, ваша строка, которая выполняется, если условие истинно, следующее ; и ничего не значит.

это то же самое, что: ;;;;; Это просто ничего!

В большинстве случаев вы используете инструкцию if:

 if ($condition) echo $result; if ($condition) { echo $result; } if ($condition) echo $result; 

потому что вы можете написать любой код внутри { } без if

проверьте этот пример:

 <?php { echo 'Hi Man'; // it print Hi Man (without using if statment) } ?>