Аргерих Л. О языке РНР. Часть 1. Страница 61


<?pbp

$а = "Hello"; $b = "$а World!"; $а = "Goodbye";

echo($b); ?>

выводится по-прежнему Hello поскольку подстановка переменной

происходит в том месте, где литерал переводится в строку и записывается в переменную $Ь. Последующее изменение $а не оказывает влияния на $ь.

Ссылки

PHP предоставляет и другой способ ссылки на переменные. Ссылка на пере­менную вида:

${expression}

указывает на переменную, имя которой представляет собой результат вы­числения выражения. Поэтому если выражение является строковым лите­ралом, например, таким:

${"my„пате"}

то переменной, на которую происходит ссылка, будет $my_name. Если пере­менная $а содержала строку "name", то

${"шу_$а">

также будет указывать на переменную $my_name - строка, как и прежде, пе­реводится в строку "my_name", которая и используется для ссылки на пере­менную. Теперь, если переменная $а содержит "my_name", то

${$а}

также указывает на $my_name. Однако для таких случаев РНР допускает еще более краткий синтаксис. Если имя переменной просто содержится в другой переменной, как здесь, то ссылка на переменную $my_name будет выглядеть так:

$$а

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

Константы

Константы представляют собой контейнеры для данных, как и переменные, но после присваивания константе значения его уже нельзя изменить. Конс­танты определяются в РНР не таким способом, как переменные (в некото­рых языках константы определяются так же, как переменные, но с ключе­вым словом, определяющим их как константы). Константы создаются в РНР с помощью функции define():

define("INDEPENDENCEDAY". "4th July"); В теле кода на константу можно сослаться просто по имени:

echo(INDEPENDENCEDAY);

Принято записывать имена констант буквами верхнего регистра, но это лишь традиция, и можно выбирать любые имена, отвечающие правилам именования

Константы РНР фактически действуют так же, как директива #defines в препроцессоре С: можно определить их в некотором а затем выпол­

нять разный код в зависимости от того, определена ли константа и какое значение она имеет. Проверка выполняется с помощью функции

if (defined("INDEPENDENCEDAY")) {

echo("INDEPENDENCEDAY is defined"); } else {

echo("INDEPENDENCEDAY is not defined");




Все рестораны Москвы уже собраны для вашего удобства и экономии времени на одном ресурсе www.bestresto.ru. Вы легко и просто сможете подобрать наиболее подходящий для вас вариант по ценовой политике, месту расположения, предлагаемой кухне.