Я знаю, что PHP, как и Java, и C ++ используют точки с запятой для завершения операторов, поэтому мне интересно использовать встроенный PHP с HTML. Мне интересно, почему пропуски точек с запятой работают.
Например, почему работает следующий код?
<?php if(true): ?>
<p>Hello World !!!</p>
<?php endif ?>
Примечание: точка с запятой не ставится после endif
в <?php endif ?>
В общем, я бы всегда рекомендовал включать точку с запятой, но вы правы, в этом случае его можно отбросить.
Вы можете удалить точку с запятой после оператора, если за оператором сразу следует закрывающий тег PHP — т.е. ?>
,
Это задокументировано в документации PHP здесь: http://php.net/manual/en/language.basic-syntax.instruction-separation.php
Это функция с самых ранних дней языка, призванная облегчить чтение шаблонного кода.
В отличие от Javascript, нет никаких других обстоятельств, когда допускается удаление точки с запятой.
Других решений пока нет …