substr_count

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

substr_countВозвращает количество вхождений подстроки

Описание

substr_count(
    string $haystack,
    string $needle,
    int $offset = 0,
    ?int $length = null
): int

Функция 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), PHP_EOL; // 14

echo substr_count($text, 'is'), PHP_EOL; // 2

// Строка сокращается до 's is a test', поэтому функция выводит значение 1
echo substr_count($text, 'is', 3), PHP_EOL;

// Текст сокращается до 's i', поэтому функция выводит значение 0
echo substr_count($text, 'is', 3, 3), PHP_EOL;

// Конструкция выводит только 1, поскольку функция не учитывает перекрывающиеся подстроки
$text2 = 'gcdgcdgcd';
echo
substr_count($text2, 'gcdgcd'), PHP_EOL;

// Функция выбрасывает ошибку, потому что 5 + 10 > 14
echo substr_count($text, 'is', 5, 10), PHP_EOL;

?>

Смотрите также

  • count_chars() - Возвращает информацию о символах, которые входят в строку
  • strpos() - Находит позицию первого вхождения подстроки
  • substr() - Возвращает подстроку
  • strstr() - Находит первое вхождение подстроки