PHP: Строки
Значениями типа string являются текстовые строки (кратко строки). Строка — это последовательность из нуля или более символов. Символы включают в себя буквы, цифры, знаки пунктуации, специальные символы и пробелы.
Строка может быть определена четырьмя различными способами:
- двойными кавычками
- одинарными кавычками
- heredoc-синтаксисом
- nowdoc-синтаксисом
Строка в двойных кавычках
Строка в двойных кавычках:
$str = "Строка"; echo "Одну большую строку можно разбить на несколько маленьких строк, чтобы её было удобнее читать.";
В строках с двойными кавычками можно использовать управляющие последовательности. Управляющая последовательность — это специальные символы предназначенные для форматирования текстового вывода. В PHP доступны следующие управляющие последовательности:
Последовательность | Значение |
---|---|
\n | Перевод на новую строку (шестнадцатеричный код 0A). |
\t | Горизонтальная табуляция (шестнадцатеричный код 09). |
\\ | Обратная косая черта (обратный слэш). |
\$ | Знак доллара. |
\» | Двойная кавычка. |
\xXX | Символ, заданный одной или двумя шестнадцатеричными цифрами. |
Основным свойством строк в двойных кавычках является возможность обработки переменных внутри строк.
$num = 10; echo "Число: $num
Знак доллара: \$";
Строки, заключённые в двойные кавычки, могут содержать символы одинарных кавычек:
Строка в одинарных кавычках (апострофах)
Строка в одинарных кавычках:
$str = 'Строка'; echo 'Одну большую строку можно разбить на несколько маленьких строк, чтобы её было удобнее читать.';
В отличие от строк в двойных кавычках и heredoc-синтаксиса, переменные и управляющие последовательности (за одним исключением), заключённые в одинарные кавычки, не обрабатываются. Это означает, что они будут интерпретированы как обычные символы строки:
$num = 10; echo 'Число: $num
Знак доллара: \$';
Чтобы в строке, заключённой в одинарные кавычки, можно было использовать одинарные кавычки, нужно их экранировать с помощью обратного слэша ( \’ ). Если необходимо написать саму обратную косую черту, нужно продублировать её ( \\ ):
echo 'Внутри используются \'одинарные\' кавычки'; echo 'Обратный слэш: \\';
Строки, заключённые в одинарные кавычки, могут содержать символы двойных кавычек:
Heredoc-синтаксис
Heredoc-синтаксис — это альтернативный способ записи строк.
Строка, определяемая с помощью Heredoc-синтаксиса, работает также, как и строка, расположенная в двойных кавычках. Разница между Heredoc и строкой в двойных кавычках заключается в том, что используя Heredoc нет необходимости экранировать двойные кавычки.
Nowdoc-синтаксис
Nowdoc-синтаксис также как и Heredoc является альтернативным способом записи строк.
Строка, определяемая с помощью Nowdoc-синтаксиса, работает также, как и строка, расположенная в одинарных кавычках. Разница между Nowdoc и строкой в одинарных кавычках заключается в том, что используя Nowdoc нет необходимости экранировать одинарные кавычки.
Синтаксис Nowdoc похож на Heredoc с той лишь разницей, что открывающий идентификатор обязательно должен быть заключён в одинарные кавычки:
Обработка переменных в строках
Существует два типа синтаксиса обработки переменных в строках: простой и сложный.
Простой синтаксис — это когда имя переменной указывается в строке как есть.
Когда интерпретатор встречает знак доллара, он начинает последовательно проверять являются ли все последующие символы допустимыми символами в имени переменной. Таким образом, чтобы сформировать правильное имя переменной, он захватывает так много символов, на сколько это возможно:
$str = "World!"; echo "Hello $str";
Сложный синтаксис — это когда имя переменной заключается в фигурные скобки.
Так как, для обработки переменной в строке, интерпретатор захватывает так много символов, на сколько это возможно бывают ситуации когда интерпретатор не способен самостоятельно определить, где оканчивается имя переменной:
$sport1 = 'волей'; $sport2 = 'фут'; echo "Мне нравится $sport1бол и $sport2бол";
В данном случае не будет достигнут желаемый результат, поскольку интерпретатор будет считать $sport1 как часть имени переменной $sport1бол , которой не существует.
Чтобы явно указать интерпретатору, где оканчивается имя переменной требуется заключить имя переменной в фигурные скобки:
$sport1 = 'волей'; $sport2 = 'фут'; echo "Мне нравится бол и бол.";
Знак доллара может быть расположен как перед фигурной скобкой, так и после неё:
$sport1 = 'волей'; $sport2 = 'фут'; echo "Мне нравится $бол и бол.";
Конкатенация
Конкатенация — это объединение двух или более строк в одну большую. Объединение происходит с помощью оператора конкатенации — . (точка). При конкатенации каждая последующая строка добавляется в конец предыдущей:
Значение любого типа, которое объединяется со строкой, будет неявно преобразовано в строку и далее будет произведена конкатенация:
Копирование материалов с данного сайта возможно только с разрешения администрации сайта
и при указании прямой активной ссылки на источник.
2011 – 2023 © puzzleweb.ru