Строки в PHP - это набор, массив символов, где символ соответствует одному байту. В PHP 7.0 на 64 битных платформах нет каких либо ограничений на длину строки, а в более ранних версиях PHP и на 32 битных платформах длина строки ограничивалась 2 Гб или лимитом памяти для PHP , указанный в PHP.ini.
Переменная строка в PHP можно определить четырьмя способами:
- одинарными кавычками
- двойными кавычками
- heredoc синтаксисом
- nowdoc синтаксисом
Определение строки одинарными кавычками
Наиболее простой способ определения строки , это заключение последовательности символов в одинарные кавычки. Для использования символа одинарные кавычки внутри кавычки , нужно экранировать ее обратным слешем (\). Если в строке используется обратный слеш, то нужно его продублировать.
Пример:
<?php echo 'Вася пошел купаться на речку' ; echo 'Вася живет на улице \'Садовая\' в городе N'; // Выводит Вася живет на улице 'Садовая' в городе N ?>
Определение строки двойными кавычками
При определении строки двойными кавычками, PHP обрабатывает следующие последовательности символов как управляющие:
Последовательность | Значение |
\n | новая строка (LF или 0x0A (10) в ASCII) |
\r | возврат каретки (CR или 0x0D (13) в ASCII) |
\t | горизонтальная табуляция (HT или 0x09 (9) в ASCII) |
\v | вертикальная табуляция (VT или 0x0B (11) в ASCII) (с PHP 5.2.5) |
\e | escape-знак (ESC или 0x1B (27) в ASCII) (с PHP 5.4.4) |
\f | подача страницы (FF или 0x0C (12) в ASCII) (с PHP 5.2.5) |
\\ | обратная косая черта |
\$ | знак доллара |
\" | двойная кавычка |
\[0-7]{1,3} | последовательность символов, соответствующая регулярному выражению символа в восьмеричной системе счисления, который молча переполняется, чтобы поместиться в байт (т.е. "\400" === "\000") |
\x[0-9A-Fa-f]{1,2} | последовательность символов, соответствующая регулярному выражению символа в шестнадцатеричной системе счисления |
\u{[0-9A-Fa-f]+} | последовательность символов, соответствующая регулярному выражению символа Unicode, которая отображается в строка в представлении UTF-8 (добавлено в PHP 7.0.0) |
Пример:
$name="Дядя Федор"; $text="Кот \n\r Матроскин";
При задании строки с помощью двойных кавычек, в отличии от одинарных кавычек, происходит обработка переменных. То есть если в строке есть переменная, то при обработке происходит подстановка значения переменной.
Пример:
$marka="Kia Rio"; $text1="Петя поехал на автомашине $marka"; echo $text1; // На браузере увидим текст Петя поехал на автомашине Kia Rio $marka2='Kia Rio'; $text2='Петя поехал на автомашине $marka'; echo $text2; // На браузере увидим текст Петя поехал на автомашине $marka
Определение строки heredoc синтаксисом
Следующий вариант определения переменной строки - это heredoc синтаксис, после оператора <<< нужно указать определенный идентификатор, затем с новой строки начинается само содержание нашей переменной строки. Завершается с новой строки этим же идентификатором.
Пример:
$Text1=<<<TXT Hello World TXT;
Строка с закрывающимся идентификатором должен содержать только идентификатор и ; , то есть кроме идентификатора и ";" не должно быть других символов, пробелов, отступов.
Строка определенная heredoc синтаксисом обладает такими же свойствами как и строка определенная двойными кавычками, то есть обработка строки содержащей переменные присутствует, также не надо экранировать двойные кавычки, и действуют управляющие символы как и для двойных кавычек.
Определение строки nowdoc синтаксисом
Синтаксис определения строки nowdoc, подобен определению синтаксисом heredoc, но отсутствует обработка строк и управляющие символы , как и при определении строки одинарными кавычками. Строка определяется следующим образом: после оператора <<< идет идентификатор, но в одинарных кавычках, затем на новой строке сам текст строки, после этого закрывающий идентификатор на новой строке. Также как и в heredoc синтаксисе, в закрывающей строке не должно быть лишних символов.
Пример:
$Text=<<<'TXT' Вася изучает язык PHP 'TXT';
Этот способ определения хорошо подходит для вставки блоков текстов без необходимости экранирования разных спецсимволов.
Операция конкатенации строковых переменных
В PHP со строковыми переменными можно проводить операцию конкатенации, то есть соединения. Для этого используется оператор "." . Две строки можно объединить в одну строку.
Пример
$Name= "Петя ест"; $fruit1=" яблоко"; $fruit2=" грушу"; $text1=$Name.$fruit1; echo $text1; // в результате на браузер будет выведено Петя ест яблоко