ProfiPHPProfiPHP
Категория: Типы данных PHP

Строки (String)

Строка (тип String) являет собой набор символов. Каждый символ занимает 1 байт, поэтому PHP поддерживает ровно 256 различных символов и не обладает встроенной поддержкой Unicode. Для того, чтобы заставить PHP работать с многобайтными строками, существует модуль Mbstring.
В 32-битных системах и PHP версий меньше 7, строки не могут быть более 2 Гб (2147483647 байт). В PHP 7.0.0, на 64-битных платформах нет каких-либо достижимых ограничений для длины строки.

Строка может быть определена одинарными или двойными кавычками, heredoc или nowdoc-синтаксисом (начиная с версии PHP 5.3.0).

Одинарные кавычки

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

Пример использования одинарных кавычек:
// Простая строка
echo 'Простая строка';
// Символ апострофа выводится так: '
echo 'Символ апострофа выводится так: \'';
// Переход на новую строку не произойдет \n
echo 'Переход на новую строку не произойдет \n';
// Переменная $example не подставится
echo 'Переменная $example не подставится';
Двойные кавычки

Строка, обрамленная двойными кавычками ("), обрабатывается PHP и распознает управляющие последовательности специальных символов, среди которых последовательность новой строки (\n), возврат каретки (\r), горизонтальная табуляция (\t) и другие. Самым важным свойством строк в двойных кавычках является обработка переменных. Более подробно можно узнать в стать: Разница между двойными и одинарными кавычками в PHP.

Пример использования двойных кавычек:
// Простая строка
echo "Простая строка";
// Символ двойной кавычки выводится так: "
echo "Символ двойной кавычки выводится так: \"";
// Переход на новую строку произойдет \n
echo "Переход на новую строку произойдет \n";
// Переменная подставится
$example = "подставится";
echo "Переменная $example";
Heredoc

Определить строку можно с помощью использования heredoc-синтаксиса: <<<. После этого оператора необходимо указать идентификатор, затем перевод строки. После этого идет сама строка, а потом этот же идентификатор, закрывающий вставку.

Пример использования heredoc-синтаксиса:
$variable = 'вторая строка';
$example = <<<EOT
первая строка
$variable
EOT;
echo $example;
Результат выполнения:
//первая строка
//вторая строка
Существуют строгие правила для создания Heredoc строки. Идентификатор должен содержать только буквенно-цифровые символы и знак подчеркивания, и не должен начинаться с цифры (знак подчеркивания разрешается). Строка с закрывающим идентификатором не должна содержать других символов, за исключением точки с запятой (;).

Heredoc-строка ведет себя так же, как и строка в двойных кавычках, в которой переменные обрабатываются. Также нет необходимости экранировать кавычки.

Nowdoc

Nowdoc похож на Heredoc, но внутри него не осуществляется никаких подстановок, что делает его идеальным для внедрения PHP-кода или других больших блоков текста без необходимости его экранирования.

Nowdoc указывается той же последовательностью <<<, что используется в Heredoc, но последующий за ней идентификатор заключается в одинарные кавычки, например, <<<'EOT'.

Пример использования Nowdoc строки:
$variable = 'вторая строка';
$example = <<<'EOT'
первая строка
$variable
EOT;
echo $example;
Результат выполнения:
//первая строка
//$variable

Добавить комментарий

Имя:
Текст комментария: