Что делать, если (); do, где точка с запятой сразу после круглых скобок?

Бывает, что при написании кода PHP я случайно помещаю точку с запятой ; сразу после утверждения if. Например:

 if($a > 1); { .... } 

Я думал, что PHP в этом случае должен вызвать ошибку, но это не так. Такой синтаксис должен иметь смысл, мне просто интересно, что это такое.

Для того, что я мог видеть, условие, похоже, всегда верно, когда ; , но я не уверен, что это значение.

Сингл ; может быть прочитано как «пустой оператор» и

 if($a > 1); { .... } 

эквивалентно

 if($a > 1) ; // execute an empty statement if $a > 1 // then execute the following block of code. { .... } 

Для того, что я мог видеть, условие, похоже, всегда верно, когда ; добавлен

Это похоже только на то, что блок выполняется независимо от if-statement.

Добавление полуколонии по сути заканчивает блок if перед фигурными скобками. Это неправда, просто вы ничего не делаете в if.

Подумайте об этом так, если у вас нет брекетов:

 if($a>1) echo "Yes"; echo "No"; 

делает все до первой полуколонии внутри if. Так что в вашем случае ничего не происходит перед первой точкой с запятой, так что ничего не происходит.