/
Программирование
/
Курс PHP
/

Поиск стартовой позиции

PHP: Поиск стартовой позиции

Часто в работе со строками нужно определить, входит ли одна строка — подстрока — в другую, и если входит, то где. Для этого в PHP есть функция mb_strpos(). Она ищет позицию первого вхождения одной строки в другую:

<?php

print_r(mb_strpos('Валар Моргулис', 'Моргулис')); // => 6

Функция вернула 6 — индекс буквы М, с которой начинается подстрока. Индексы, как обычно, отсчитываются с нуля:

<?php

print_r(mb_strpos('Валар Моргулис', 'Валар')); // => 0

Здесь вернулся 0: подстрока найдена в самом начале строки.

Если же подстрока не найдена, mb_strpos() возвращает специальное значение false — «ложь». При выводе через print_r() оно выглядит как пустая строка:

<?php

print_r(mb_strpos('Валар Моргулис', 'Дракарис')); // =>

Здесь скрыта ловушка, в которую часто попадают новички: результат 0 («найдено в начале строки») легко спутать с false («не найдено вообще»). Чтобы различать их, нужно строгое сравнение — мы разберем его в уроках про логику. А пока запомните: mb_strpos() отвечает на вопрос «где?», а не «есть ли?».

Задание

В программе нужно вырезать из адреса https://hexlet.io/courses имя раздела. Первый шаг — узнать, где оно начинается.

Выведите на экран позицию, с которой в строке https://hexlet.io/courses начинается подстрока courses. Используйте функцию mb_strpos().

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются