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

# strstr

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

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

### Описание

function 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() - Выполняет проверку на соответствие регулярному выражению

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open