рассмотрим следующий код …
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) } ?>