Уроки PHP — строки
В этом уроке мы подробно рассмотрим, что такое строки в PHP, как их использовать, а также рассмотрим простейшие функции манипуляции со строками.
Строки в PHP: основы
Строка (string) – это тип данных в PHP и набор символов. В PHP встроена поддержка 256 разных символов.
Для определения строки можно использовать три различных способа:
- одинарные кавычки
- двойные кавычки
- heredoc-синтаксис
Вам решать, какой способ использовать, ведь у каждого из них есть свои плюсы и минусы.
Примечание: в уроке используются практические примеры. Чтобы проверить новые знания, рекомендуем вам создать тестовый PHP файл и запускать его на встроенном PHP-сервере. Как это сделать вы можете увидеть в уроке по PHP 7.
- Первый и наиболее известный способ – определить строку с использованием одинарных кавычек. Так же, как и в других языках программирования, вам нужно использовать обратную косую черту ‘
\
‘, если вы хотите отобразить в тексте одинарную кавычку:
<?php $stroka_1 = 'Какой-то текст'; $stroka_2 = 'Текст с одинарной кавычкой (\')'; echo $stroka_1; echo $stroka_2; ?>
- Второй вариант заключается в использовании двойных кавычек. В этом способе можно использовать переменные в строке (без закрытия строки), а PHP будет интерпретировать переменную и отобразит ее содержимое:
<?php $stroka_1 = "Какой-то текст"; $stroka_2 = "Текст с двойной кавычкой (\")"; $peremennaya = "Переменная"; $stroka_3 = "В этой строке используется $peremennaya"; echo $stroka_1; echo $stroka_2; echo $stroka_3; ?>
Здесь наиболее важной частью является строка, определенная как переменная $stroka_3
, а ее вывод приведет к следующему:
В этой строке используется Переменная
- И наконец, вы можете использовать heredoc-синтаксис. В этом случае вы заключаете нужный текст между идентификаторами heredoc. В данном случае идентификатором выступает
HTML
(вы можете использовать другой). Вам нужно указать перед идентификатором оператор<<<
. Строка закрывается идентификатором и точкой с запятой:
<?php $stroka_1 = <<<HTML Здесь мы используем heredoc-синтаксис. Очень важно, чтобы строка с закрывающим идентификатором не содержала других символов, за исключением точки с запятой (;). Перед идентификатором не должно быть пробелов, а перед, и после точки с запятой не должно быть никаких пробелов или знаков табуляции. HTML; echo $stroka_1; ?>
В результате текст будет выведен с использованием указанного формата – с учетом отступов и новых строк. В этом способе так же можно использовать переменные, как и в случае строк в двойных кавычках.
Способ №2 является наиболее интересной версией определения строки, поэтому давайте еще немного посмотрим, как использовать переменные в строках.
Разбор переменных в строке
Иногда вам может понадобиться использовать переменные в строке. Например, если у вас в переменную записывается имя пользователя, и вы хотите поприветствовать этого пользователя по имени, например, так:
"Привет, Иван, рад тебя видеть!"
Плюс этого метода заключается в том, что вы можете использовать переменную типа $userName
, в которую будет записано имя текущего пользователя. И с использованием переменной вы будете показывать каждому пользователю его уникальное имя. Если использовать строку в одинарных кавычках, это может выглядеть так:
<?php $userName = "Иван"; echo 'Привет '. $userName .', рад тебя видеть!'; ?>
Используя двойные кавычки, это можно сделать проще:
<?php $userName = "Иван"; echo "Привет $userName, рад тебя видеть!"; ?>
Конкатенация строк
Как вы могли видеть в предыдущем примере, мы использовали конкатенацию (объединение) строк. Теперь давайте посмотрим в деталях, как мы можем еще объединять строки.
В PHP вы можете объединить строку, используя оператор конкатенации – точку (.
). Ниже рассмотрены различные способы объединения строк:
<?php // Используем только один тип кавычек $stroka_1 = "Это "."какой-то"." тестовый "."текст"; // Используем разные типы кавычек $stroka_2 = 'Это '."какой-то".' тестовый текст'; // Или разделяем строку на несколько строк $stroka_3 = "Это"; $stroka_3 .= " какой-то"; $stroka_3 .= " тестовый текст"; $stroka_4 = "Это" . " какой-то" . " тестовый текст"; ?>
Манипулирование строками
В этом пункте мы рассмотрим манипулирование строки только по символам. Как вы знаете, строки представляют собой набор символов. Это означает, что вы можете использовать этот набор как отдельную строку. Например, если у вас есть строковая переменная $name
со значением «Ivan», вы можете получить доступ к первой букве (I) используя такую запись $name[0]
:
<?php $name = 'Ivan'; for ($i = 0; $i < 5; $i++){ echo "{$name[$i]}<br>"; } ?>
И если вы можете получить доступ к набору символов, вы, конечно, можете изменять элементы один за другим, например, так:
<?php $name = 'Ivan'; $name[4] = 'o'; $name[5] = 'v'; echo $name; ?>
Здесь мы добавили новые символы к массиву символов, в итоге должно получиться Ivanov. Если вам нужно изменить определенный символ, тогда используйте его индекс с новым значением. Например, чтобы заменить букву ‘n‘, используйте следующую конструкцию:
$name[3] = 's';
Тогда получится Ivasov. Не забывайте, что отсчет идет не с единицы, а с нуля, т.е., первый символ имеет индекс 0.