главная :: основы PHP
Строковые значения
Строкой (string) называется последовательность символов, которая рассматривается как единое целое, но при этом обеспечивает доступ к
отдельным символам. Примеры строк:
thesaurus
49ers
abc
&%/$#
Обратите внимание: в РНР не поддерживается символьный тип данных. Строковый тип может рассматриваться как единое представление для
последовательностей, состоящих из одного или нескольких символов.
Строковое присваивание
Строки делятся на две категории в зависимости от типа ограничителя — они могут ограничиваться парой кавычек (" ") или апострофов (' ').
Между этими категориями существуют два принципиальных различия. Во-первых, имена переменных в строках, заключенных в кавычки,
заменяются соответствующими значениями, а строки в апострофах интерпретируются буквально, даже если в них присутствуют имена
переменных,
Два следующих объявления дают одинаковый результат:
$food = "meatloaf";
$food = 'meatloaf';
Однако результаты следующих объявлений сильно различаются:
$sentence = "My favorite food is $food";
$sentence2 = 'My favorite food is $food';
Переменной $sentence присваивается строка
My favorite food is meatloaf.
Обратите внимание: переменная $food автоматически интерпретируется. С другой стороны, переменной $sentence2 присваивается строка
My favorite food is $food.
В отличие от переменной $sentence, в $sentence2 осталась не интерпретированная переменная $food. Различия обусловлены использованием
кавычек и апострофов при присваивании переменным $sentence и $sentence2.
Прежде чем рассматривать второе фундаментальное различие между строками, заключенными в апострофы и в кавычки, необходимо
познакомиться со служебными символами, используемыми в строках РНР. В РНР, как и в большинстве современных языков
программирования, строки могут содержать служебные символы (например, символы табуляции или новой строки), перечисленные в табл.
2.1.
Таблица 2.1. Служебные символы в строках
Последовательность
Смысл
\n
Новая строка
\r
Возврат курсора
\t
Горизонтальная табуляция
\\
Обратная косая черта
\$
Знак доллара
\"
Кавычка
\[0-7]{1,3}
Восьмеричная запись числа (в виде
регулярного выражения)
\x[0-9A-Fa-f]{l,2}
Шестнадцатиричная запись числа (в
виде регулярного выражения)
Второе принципиальное различие заключается в том, что в строках, заключенных в кавычки, распознаются все существующие служебные
символы, а в строках, заключенных в апострофы, — только служебные символы «\\» и «\». Следующий пример наглядно демонстрирует
различия между присваиванием строк, заключенных в кавычки и апострофы:
$double_list = "item1\nitem2\nitem2";
$single_list = 'item1\nitem2\nitem2';
Если вывести обе строки в браузере, окажется, что строка в кавычках содержит внутренние символы новой строки, а в строке в апострофах
последовательность \n выводится как обычные символы. Хотя многие служебные символы в браузерах несущественны, при форматировании
для других условий они играют очень важную роль. Помните об этом, выбирая между кавычками и апострофами, и вам удастся избежать
многих неожиданностей.
Синтаксис встроенной документации
Второй вариант синтаксиса ограничения строк, представленный в HTML4, называется встроенной документацией (here doc). В этом варианте
синтаксиса строка начинается с символов <<<, за которыми следует некоторый идентификатор по вашему выбору, затем строка,
присваиваемая переменной. Конструкция заканчивается вторым экземпляром того же идентификатора. Пример:
$paragraph = <<
|