На этом шаге мы рассмотрим особенности получения подстроки из строки.
Очень часто при работе со строками программисту необходимо получить какую-либо определенную последовательность символов имеющейся строки. Для этого используется функция substr(). Она позволяет получать любую часть строки с учетом указанных параметров.
Ее общий вид:

Рис.1. Общий вид функции substr()
Функция возвращает часть символов строки строка, определяемую параметрами номер (с какого символа) и длина (сколько символов будет в возвращаемой строке). Параметр длина является необязательным.
Если параметр номер положительный, то возвращаемая строка будет начинаться с символа строки с номером номер.
<?php
$rest = substr("abcdef", 1);    // возвращает "bcdef"
echo $rest."<br>";
$rest = substr("abcdef", 1, 3); // возвращает "bcd"
echo $rest."<br>";
$rest = substr("abcdef", 0, 4); // возвращает "abcd"
echo $rest."<br>";
$rest = substr("abcdef", 0, 8); // возвращает "abcdef"
echo $rest."<br>";
/* к отдельным символам можно обращаться с помощью фигурных скобок */
$string = 'abcdef';
echo $string[0]."<br>";         // выводит a
echo $string[3]."<br>";         // выводит d
?>
Результат выполнения этой программы смотрите на рисунке 2.

Рис.2. Пример применения функции substr()
Если параметр номер отрицательный, то возвращаемая строка будет начинаться с символа номер от конца строки.
<?php
$rest = substr("abcdef", -1);    // возвращает "f"
echo $rest."<br>";
$rest = substr("abcdef", -2);    // возвращает "ef"
echo $rest."<br>";
$rest = substr("abcdef", -3, 1); // возвращает "d"
echo $rest."<br>";
?>
Если параметр длина указан и он положительный, то возвращаемая строка закончится через длина символов от символа с номером номер. Если параметр длина указан и он отрицательный, то возвращаемая строка закончится через длина от конца строки.
<?php
$rest = substr("abcdef",0,-1);  // возвращает "abcde"
echo $rest."<br>";
$rest = substr("abcdef",2,-1);  // возвращает "cde"
echo $rest."<br>";
$rest = substr("abcdef",4,-4);  // возвращает "" (пустая строка)
echo $rest."<br>";
$rest = substr("abcdef",-3,-1); // возвращает "de"
echo $rest."<br>";
?>
На следующем шаге мы рассмотрим функцию поиска подстроки в строке.