Строковый тип является важнейшим для PHP, поскольку в процессе создания клиентских страниц, как правило, массово используется работа со строками. Строка в PHP представляет собой последовательность символов. Каждый символ представляет собой байт (т.е. нет встроенной поддержки Unicode). Строковые константы, в основном, задаются двумя способами: либо парой одинарных кавычек, либо парой двойных кавычек. Ограничения на длину строк в языке не определены (по-видимому, это зависит от реализации интерпретатора и доступных ресурсов системы).
В строках, заданных парой двойных кавычек, могут использоваться управляющие последовательности (Escape-последовательности), по аналогии с языком C, например:
Escape-последовательность
Описание
\n
Новая строка – символ 10 в ASCII.
\r
Возврат каретки – символ 13 в ASCII.
\t
Табуляция – символ 9 в ASCII.
\\
Обратная косая черта.
\$
Знак доллара.
\"
Двойная кавычка.
Вместо управляющих последовательностей подставляются соответствующие им значения кода ASCII. В строковых константах, заданных одинарными кавычками, вместо управляющих символов ничего не подставляется, они рассматриваются как пара символов. Два исключения: последовательность \’ для отображения символа одинарной кавычки и последовательность \\ для отображения обратной косой черты.
Примеры:
<?php $var_1 = "Это будет на первой строке.\nА это на второй."; echo $var_1; // выведем не одну строку, а две
$var_2 = 'А здесь будет ровно одна\nстрока'; echo $var_2; // выведем одну строку, в которой будет пара символов \n
Для конкатенации строк используется точка. Внутри констант в двойных кавычках может использоваться имя переменной. Вместо этого имени будет подставлено значение переменной.
Примеры:
<?php $var_1 = "Иванов"; $var_2 = "Ваша фамилия {$var_1}";
echo $var_2; // выведем строку: Ваша фамилия Иванов
// пример конкатенации строк echo $var_2.", не так ли?"; // выведем строку: Ваша фамилия Иванов, не так ли?
$var_3 = " Иван Иваныч"; $var_4 = $var_1.$var_3; // $var_4 содержит строку: "Иванов Иван Иваныч" ?>
Сравнение строк выполняется посимвольно. Строки $str1 и $str2 равны, если количество символов в $str1 и $str2 совпадает и k-ый символ в $str1 равен k-ому символу в $str2. Строка $str1 больше $str2 если: все символы до k-го включительно в $str1 и $str2 совпадают, а ASCII код k+1-ого символа в $str1 больше ASCII кода k+1-го символа в $str2. Если все символы в $str2 совпадают с символами в $str1, но $str1 длиннее, то $str1 также больше $str2.