Урок посвящен основам синтаксиса скриптового языка PHP.

Первое, что нужно знать относительно синтаксиса PHP, – это то, как он встраивается в HTML-код, как интерпретатор узнает, что это код на языке PHP. PHP-скрипты встраиваются в HTML-код с помощью открывающего тега <?php и закрывающего тега ?>. Иногда используется сокращенный вариант <? ?>.

Программа на PHP – это набор команд (инструкций). Обработчику программы (парсеру) необходимо как-то отличать одну команду от другой. Для этого используются специальные символы – разделители. В PHP каждое выражение заканчивается точкой с запятой.

Закрывающий тег " ?> " также подразумевает конец инструкции, поэтому перед ним точку с запятой можно не ставить. Например, два следующих фрагмента кода эквивалентны:

<?php 
// точка с запятой в конце команды обязательна
echo "Hello, world!";
?>

и

<?php 
echo "Hello, world!"
?>
<!-- точка с запятой  опускается из-за "?>" -->

Внутри двойных кавычек распознаются специальные управляющие комбинации, состоящие из двух символов, первый из которых - обратный слэш (\). Наиболее часто используются следующие управляющие символы:

  • \r - возврат каретки (CR)
  • \n - перевод строки (NL)
  • \" - двойная кавычка
  • \$ - символ доллара ($)
  • \\ - собственно, обратный слэш (\)

Символы \r и \n обычно используются вместе, в виде комбинации \r\n - так обозначается перевод строки в Windows и многих TCP/IP-протоколах. В Unix новая строка обозначается одним символом \n; обычно такой способ перевода строки используется и в HTML-документах (это влияет только на HTML-код, но не отображение в браузере (если только текст не заключен в пару тэгов <pre> и </pre>): для отображаемого перевода строки, как известно, используется тэг <br />). Оставшиеся три пункта из приведенного списка применения обратного слэша являются примерами экранирования - отмены специального действия символа. Так, двойная кавычка обозначала бы конец строки, символ доллара - начало имени переменной, а обратный слэш - начало управляющей комбинации. При экранировании, символ воспринимается "как он есть", и никаких специальных действий не производится.

Принцип экранирования в PHP используется во многих случаях.

Если в следующем примере кавычки заменить на одинарные, в браузере отобразится именно то, что внутри них написано ($firstname, $lastname):

<?php 
$lastname = 'Hakimov';
$firstname = 'Rahmatjon';
$message = "Hello $firstname $lastname!";
echo $message;
?>

и

<?php 
$lastname = 'Hakimov';
$firstname = 'Rahmatjon';
$message = 'Hello $firstname $lastname!';
echo $message;
?>

Комбинации символов, начинающиеся с \, в одинарных кавычках также никак не преобразуются, за двумя исключениями: \' - одинарная кавычка внутри строки; \\ - обратный слэш.