(PHP 4, PHP 5, PHP 7, PHP 8)
substr_count — Возвращает число вхождений подстроки
$haystack
,$needle
,$offset
= 0,$length
= null
substr_count() возвращает число вхождений
подстроки needle
в строку
haystack
. Заметьте, что параметр
needle
чувствителен к регистру.
Замечание:
Эта функция не подсчитывает перекрывающиеся подстроки. Смотрите пример ниже!
haystack
Строка, в которой ведётся поиск
needle
Искомая подстрока
offset
Смещение начала отсчёта. Если задано отрицательное значение, отсчёт позиции будет произведён с конца строки.
length
Максимальная длина строки, в которой будет производится поиск
подстроки после указанного смещения. Если сумма смещения
и максимальной длины будет больше длины haystack
,
то будет выведено предупреждение. Отрицательное значение будет отсчитываться
с конца haystack
.
Эта функция возвращает целое число (int).
Версия | Описание |
---|---|
8.0.0 |
length теперь допускает значение null.
|
7.1.0 |
Добавлена поддержка отрицательных значений offset
и length .
length теперь также может быть 0 .
|
Пример #1 Пример использования substr_count()
<?php
$text = 'This is a test';
echo strlen($text); // 14
echo substr_count($text, 'is'); // 2
// строка уменьшается до 's is a test', поэтому вывод будет 1
echo substr_count($text, 'is', 3);
// текст уменьшается до 's i', поэтому вывод будет 0
echo substr_count($text, 'is', 3, 3);
// генерирует предупреждение, так как 5+10 > 14
echo substr_count($text, 'is', 5, 10);
// выводит только 1, т.к. перекрывающиеся подстроки не учитываются
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd');
?>