Функция substr PHP

Сегодня мы продолжим изучении встроенных функций в язык PHP, и функция, которую мы сегодня разберем, называется substr. Она также предназначена для работы со строками, и при ее помощи мы можем из одной подстроки вернуть другую подстроку, вырезав при этом необходимую часть.
<?php
$string = "string";
$res = substr($string, 0, 3);
echo $res."<br />";
$res = substr($string, 1, 3);
echo $res."<br />";
$res = substr($string, 2);
echo $res."<br />";
?>
Создаем строку string, с которой в дальнейшем и будем работать. В переменную res будем помещать результат выполнения функции substr PHP. Данная функции может принимать три параметра, два из которых являются обязательными. Первым параметром мы должны передавать строку, которая будет обрабатываться нашей функцией. Вторым параметром задается символ, с которого мы будем начинать обрезать нашу строку. И третий параметр означает длину обрезаемой строки.
Будем рассуждать исходя из примера, который я Вам привел. Главное помнить, что отсчет элементов начинается с нуля. В первом случае мы указали, что хотим получить строку с самого начала, длиной в три символа. Итог: str. Второй пример аналогичен первому, только мы получаем строку длиной в три символа, начиная со второго символа. Как я уже говорил, на самом деле, третий параметр не является обязательным, поэтому исходя из третьего примера, мы просим нашу функцию вернуть нам строку, начиная с третьего символа и до самого конца строки.
Разобрав наш пример, думаю, Вам стало все предельно ясно, но хотелось бы добавить следующее, что Вы также в качестве своих параметров можете использовать отрицательные числа.
Если Вы в качестве стартового символа укажете отрицательное число, то отсчет пойдем с конца строки. Для этого я приведу один пример:
<?php
$res = substr($string, -4, 3);
echo $res."<br />";
?>
В данном примере функция поступит следующим образом, отсчитает с конца строки четыре символа, и возьмет длину строки равно три символа, в итоге мы получим результат: rin. И последний пример:
<?php
$res = substr($string, -4, -2);
echo $res."<br />";
?>
А как поступит функция, если параметр длины указан отрицательный? Все просто, она отсчитает, как и в предыдущем примере, четыре символа от конца строки и обрежет два символа от конца строки, в итоге мы получим результат: ri.
Теперь я полностью разобрал различные нюансы, которые могут встретиться в вашей практике. Увидев что-то подобное, Вы уже не растеряетесь, а моментально сообразите, что в результате вернет функция. На этом все, удачного дня!