array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.substr-count.php', 1 => 'substr_count', ), 'up' => array ( 0 => 'ref.strings.php', 1 => 'Функции для работы со строками', ), 'prev' => array ( 0 => 'function.substr-compare.php', 1 => 'substr_compare', ), 'next' => array ( 0 => 'function.substr-replace.php', 1 => 'substr_replace', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/strings/functions/substr-count.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
substr_count — Возвращает число вхождений подстроки
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');
?>