Строки
Строка — это текст: имя пользователя, заголовок страницы, сообщение об ошибке. Работа со строками встречается почти в каждой программе.
Запись строки
Строку записывают в кавычках:
<?php
echo 'Привет, мир!';Одинарные и двойные кавычки
В одинарных кавычках текст выводится как есть. В двойных работают подстановка переменных и специальные символы: \n — перевод строки, \t — табуляция.
<?php
echo "Первая строка\nВторая строка";Чтобы вставить в строку саму кавычку, перед ней ставят обратную косую черту:
<?php
echo "Он сказал: \"Привет\"";Если подстановка не нужна, используйте одинарные кавычки — так сразу видно, что в строке нет переменных.
Склейка строк
Строки соединяются оператором «точка». Оператор .= дописывает текст в конец переменной:
<?php
$first = 'Иван';
$last = 'Петров';
$full = $first . ' ' . $last;
$full .= '!';
echo $full; // Иван Петров!Длина строки
Функция strlen() считает байты, а mb_strlen() — символы. Для кириллицы результаты отличаются вдвое:
<?php
echo strlen('привет'), "\n"; // 12
echo mb_strlen('привет'); // 6Поиск и регистр
<?php
var_dump(str_contains('Привет, мир', 'мир')); // bool(true)
echo mb_strtoupper('привет'), "\n"; // ПРИВЕТ
echo mb_strtolower('ПРИВЕТ'); // приветФункция str_contains() проверяет, есть ли в строке нужный фрагмент. Поиск учитывает регистр: «Мир» и «мир» — разные строки.
Подстрока и замена
mb_substr() вырезает часть строки: указывается начальная позиция (счёт идёт с нуля) и количество символов. str_replace() заменяет все вхождения одного фрагмента на другой:
<?php
echo mb_substr('Программа', 0, 3), "\n"; // Про
echo str_replace('мир', 'PHP', 'Привет, мир!'); // Привет, PHP!Лишние пробелы
Данные от пользователя часто приходят с пробелами по краям. Их убирает trim():
<?php
var_dump(trim(' текст ')); // string(10) "текст"Частая ошибка
Функции без префикса mb_ работают с байтами и ломают кириллицу: strtoupper('привет') не изменит строку, а substr() может разрезать букву пополам. Для текста на русском всегда берите версии с mb_.