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, PHP_EOL; // Выводит: @example.com

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

?>

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

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