Функция substr_count() в PHP

Пример

Подсчитать количество出现的 "Shanghai" в строке:

<?php
echo substr_count("I love Shanghai. Shanghai is the biggest city in china.","Shanghai");
?>

Запуск примера

Функция substr_count() вычисляет количество出现的 подстроки в строке.

Комментарий:Подстроки различаются регистром.

Комментарий:Эта функция не учитывает перекрывающиеся подстроки (см. пример 2).

Комментарий:Если start Параметр加上 length Если параметр больше длины строки, то функция генерирует предупреждение (см. пример 3).

Синтаксис

substr_count(string,substring,start,length)
Параметр Описание
string Обязательное. Определяет строку, которую нужно проверить.
substring Обязательное. Определяет строку, которую нужно искать.
start Доступно. Определяет, с какой позиции в строке начинать поиск.
length Доступно. Определяет длину поиска.

Технические детали

Возвратное значение: Возвращает количество вхождений подстроки в строке.
Версия PHP: 4+
Журнал обновлений: В PHP 5.1 добавлен start и length Параметры.

Более примеров

Пример 1

Использование всех параметров:

<?php
$str = "This is nice";
echo strlen($str)."<br>"; // Использование strlen() для возврата длины строки
echo substr_count($str,"is")."<br>"; // Количество вхождений "is" в строке
echo substr_count($str,"is",2)."<br>"; // Строка сокращена до "is is nice"
echo substr_count($str,"is",3)."<br>"; // Строка сокращена до "s is nice"
echo substr_count($str,"is",3,3)."<br>"; // Строка сокращена до "s i"
?>

Запуск примера

Пример 2

Перекрывающиеся подстроки:

<?php
$str = "abcabcab";
echo substr_count($str,"abcab"); // Эта функция не учитывает перекрывающиеся подстроки
?>

Запуск примера

Пример 3

Если start и length Если параметры превышают длину строки, функция будет выводить предупреждение:

<?php
echo $str = "This is nice";
substr_count($str,"is",3,9);
?>

Поскольку значение длины exceeds длина строки (3 + 9 больше 12), использование будет выводить предупреждение.