(PHP 4, PHP 5, PHP 7, PHP 8)
strstr — Находит первое вхождение подстроки
Функция возвращает часть строки 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
?>