САМОУЧИТЕЛЬ PHP 4

       

Строка в кавычках


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

r \n обозначает[В. О.31]  символ новой строки;

r    \r обозначает символ возврата каретки;

r    \t обозначает символ табуляции;

r    \$ обозначает символ $, чтобы следующий за ним текст случайно не был интерполирован, как переменная;

r    \" обозначает кавычку;

r    \\ обозначает обратный слэш;

r    \xNN обозначает символ с шестнадцатеричным кодом NN.

Переменные в строках интерполируются. Например:

$a="Hello";

echo "$a world!"

Этот фрагмент выведет Hello world!, т. е. $a в строке была заменена на значение переменной $a (этому поспособствовал знак доллара, предваряющий любую переменную).

Давайте рассмотрим еще один пример.

$a="Hell";  // ñëîâî Hello áåç áóêâû "o"

echo "$ao world!";

Мы ожидаем, что выведется опять та же самая строка. Но задумаемся: как PHP узнает, имели ли мы в виду переменную $a или же переменную $ao? Очевидно, никак. Запустив фрагмент, убеждаемся, что он генерирует сообщение о том, что переменная $ao не определена. Как же быть? А вот как:

$a="Hell";  // ñëîâî Hello áåç áóêâû "o"

echo $a."o world!";  // îäèí ñïîñîá

echo "{$a}o world!"; // äðóãîé ñïîñîá

echo "${a}o world!"; // òðåòèé ñïîñîá!

Мы видим, что существует целых три способа преодолеть проблему. Каким из них воспользоваться — дело ваше. Мне больше нравится вариант с {$a}, хотя он и введен в PHP лишь недавно.

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



Содержание раздела