strstr

(PHP 4, PHP 5, PHP 7, PHP 8)

strstrНаходит первое вхождение подстроки

Описание

strstr(string $haystack, string $needle, bool $before_needle = false): string|false

Функция возвращает часть строки haystack от начала первого вхождения подстроки needle до конца строки haystack.

Замечание:

Функция учитывает регистр символов. Для поиска без учёта регистра вызывают функцию stristr().

Замечание:

Вместо этой функции вызывают функцию str_contains(), которая ищет быстрее и с меньшим потреблением памяти, когда требуется только определить, встречается ли подстрока needle в строке haystack.

Список параметров

haystack

Входная строка, в которой функция будет искать строку.

needle

Строка, которую функция будет искать.

До PHP 8.0.0, если параметр needle — не строка, он преобразовывается в целое число и трактуется как код символа. Это поведение устарело с PHP 7.3.0 и полагаться на него крайне не рекомендуется. В зависимости от предполагаемого поведения, параметр needle должен быть либо явно приведён к строке, либо должен быть выполнен явный вызов функции chr().

before_needle

Со значением true функция strstr() возвращает часть строки haystack от начала входной строки до первого вхождения подстроки needle, не включая «иглу».

Возвращаемые значения

Функция возвращает часть строки или false, если не нашла подстроку needle.

Список изменений

Версия Описание
8.0.0 Параметр needle теперь разрешает пустую строку.
8.0.0 Функция больше не поддерживает передачу целого числа (int) в параметр needle.
7.3.0 Передача целого числа (int) в параметр needle устарела.

Примеры

Пример #1 Пример поиска первого вхождения подстроки функцией strstr()

<?php

$email
= 'name@example.com';
$domain = strstr($email, '@');
echo
$domain; // Выводит @example.com

$user = strstr($email, '@', true);
echo
$user; // Выводит name

?>

Смотрите также

  • stristr() - Регистронезависимый вариант функции strstr
  • strrchr() - Находит последнее вхождение символа в строке
  • strpos() - Находит позицию первого вхождения подстроки
  • strpbrk() - Ищет в строке любой символ из набора
  • preg_match() - Выполняет проверку на соответствие регулярному выражению