Объединение строк
С помощью знака "." возможно объединять строки:<?php
$a = 'Тише, мыши, ';
$b = 'кот на крыше';
echo $a . $b; // результат: 'Тише, мыши, кот на крыше'
?>
Обратите внимание, что объединять можно не только строковые переменные. Можно объединить строку и число:
<?php
$a = 'У нас есть ';
$b = 8;
$c = ' кусочков сыра';
echo $a . $b . $c; // результат: 'У нас есть 8 кусочков сыра'
?>
Если вам понадобится вставить переменную внутри строки, то сделать это несколькими способами:
<?php
$a = 8;
$b = 'У нас есть ' . $a . ' кусочков сыра';
$b = "У нас есть $a кусочков сыра";
?>
В обоих случаях переменная "b" примет одинаковые значения "У нас есть 8 кусочков сыра", но соединение строк сделано по разному. В первом случае соединяются две строки и одно число. А во втором случае компилятор прочитает строку целиком и заменит значение переменно "a" на нужное. Обратите внимание на кавычки. В первом случае они одинарные, а во втором двойные. Именно двойные кавычки указывают компилятору на то, что в строке содержится переменная. Если заменить их на одинарные, то результат будет не "У нас есть 8 кусочков сыра", а "У нас есть $a кусочков сыра". Как будто "$a" - это кусок текста.
Для операции объединения строк существует сокращенная запись ".=". С помощью неё можно быстро добавить в конец строки другую строку или даже саму себя:
<?php
$a = 'Вкусный ';
$b = 'сыр';
$a .= $b; // эквивалентно записи $a = $a . $b;
echo $a; // результат: 'Вкусный сыр'
?>
Обрезка строк
Функция substr(X, Y, Z) обрезает строку X начиная с символа под номером Y и длиной в Z символов. Если Y положительный, то считается с начала строки, если отрицательный, то с конца. Если Z положительное, то результат будет содержать количество символов равной Z, иначе будет содержать символы до конца символа, который по порядку от конца строки равен значению модуля Z. Описание сложное, поэтому продемонстрируем работу этой функции на всех возможных примерах:<?php
$a = substr('Вкусный сыр', 1); // вернёт "кусный сыр"
$a = substr('Вкусный сыр', -1); // вернёт "р"
$a = substr('Вкусный сыр', 2, 3); // вернёт "усн"
$a = substr('Вкусный сыр', 0, -1); // вернёт "Вкусный сы"
$a = substr('Вкусный сыр', 2, -1); // вернёт "усный сы"
$a = substr('Вкусный сыр', -2); // вернёт "ыр"
$a = substr('Вкусный сыр', -3, 3); // вернёт "сыр"
$a = substr('Вкусный сыр', -3, -2); // вернёт "сы"
$a = substr('Вкусный сыр', 9, -9); // вернёт false
?>
Подсчёт символов в строке
Одной из часто востребованных функций является strlen( ). Эта функция измеряет количество символов в строке. Приведём пример:<?php
$a = 'Сыр';
echo 'В этом слове ' . strlen($a) . ' буквы';
?>
Результат будет такой:
В этом слове 3 буквыФункция strlen( ) часто используется в условии для if( ). К примеру:
<?php
$a = 'Сыр';
if( strlen($a) ) {
echo 'В этом слове ' . strlen($a) . ' буквы';
}else{
echo 'Длина этой строки равна нулю';
}
?>
Количество вхождений в строку
Часто появляется задача определить есть ли в строке определённая подстрока. Для этого используется функция substr_count( X, Y ), которая ищет сколько раз подстрока Y входит в строку X. Это используется, например, если надо показывать блок на определённой странице сайта.<?php
$url = '/store/cheese/all/'; // адрес страницы
if( substr_count($url, '/cheese/') ) {
echo 'Попробуйте все виды сыра!';
}else{
echo 'Магазин';
}
?>
Функция substr_count нашла подстроку '/cheese/' в значении переменной $url и вернула количество таких вхождений. В нашем случае получилась цифра "1". А условие if( 1 ) является правдой, поэтому на экране браузера появится надпись:
Попробуйте все виды сыра!
Выбор определённого символа из строки
К строке можно обратиться как к массиву, элементы которого - это буквы. Поэтому чтобы получить определённую букву, возьмите нужный элемент массива:<?php
$a = 'Вкусный сыр';
$b = $a[0]; // вернёт 'В'
$b = $a[1]; // вернёт 'к'
$b = $a[5]; // вернёт 'н'
?>
Обратите внимание, что нумерация элементов массива начинается с нуля. Первый символ в строке - это нулевой элемент массива.