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

Опубликовано: 24 Февраля, 2022

Substr_count () - это встроенная функция в PHP, которая используется для подсчета количества раз, когда подстрока встречается в данной строке. Функция также предоставляет нам возможность искать данную подстроку в заданном диапазоне индекса. Он чувствителен к регистру, т. Е. Подстрока «abc» отсутствует в строке «Abcab». Если значение (начало + длина), указанное для поиска, превышает размер переданной строки, пользователю возвращается предупреждающее сообщение.

Синтаксис:

 substr_count ($ строка, $ подстрока, $ начало, $ длина)

Параметры : эта функция принимает четыре параметра, как показано в синтаксисе выше и описано ниже.

  1. $ string - строка, переданная в параметре, является той, в которой учитывается вхождение подстроки. Этот параметр обязательно указывается.
  2. $ substring - ищется подстрока, переданная в параметре, и возвращается количество вхождений. Этот параметр обязательно указывается.
  3. $ start - этот параметр не является обязательным. Если этот параметр передан, то поиск выполняется, начиная с начальной позиции, вместо того, чтобы искать во всей строке вхождение подстроки.
  4. $ length - этот параметр не является обязательным. Параметр зависит от запуска. Он ограничивает операцию поиска от начала до начала + длина позиции. Если значение start + length увеличивает длину строки, генерируется предупреждающее сообщение.


Возвращаемое значение: эта функция может возвращать разные значения, как показано ниже, в разных случаях.

  • Сколько раз данная подстрока появляется в строке, если не переданы необязательные параметры
  • Сколько раз подстрока появляется в строке от начальной до конечной позиции, когда start передается в параметре
  • Сколько раз подстрока появляется в строке от начала до позиции start + длина, когда переданы оба параметра start и length.

Примеры:

Ввод: string = "гики для гиков" substring = "гики" 
Выход: 2
Пояснение : слово "geeks" встречается в данной строке два раза. 

Ввод: string = "компьютерщики для компьютерных фанатов" substring = "компьютерные фанаты" start = 6 
Выход: 1 
Пояснение : "geeks" встречается один раз в данной строке, в 
в этом случае поиск подстроки начинается с 6-й позиции, т.е. 
подстрока ищется в "для гиков".  

Ниже программы иллюстрируют функцию substr_count ():

Program 1: When both optional parameters are not passed.

<?php
// PHP program to demonstrate the substr_count() function
  
$str = "geeks for geeks"
  
echo substr_count($str, "geeks");  // displays the count
  
?>

Выход:

 2

Program 2: When parameter $start is passed.

<?php
// PHP program to demonstrate the 
// substr_count() function
   
// $start is passed
$str = "geeks for geeks"
  
echo substr_count($str, "geeks", 6);  
  
?>

Выход:

 1

Program 3: When $start and $length both are passed.

<?php
// PHP program to demonstrate the 
// substr_count() function 
  
$str = "geeks for geeks"
  
echo substr_count($str, "geeks", 6, 2);  
  
?>

Выход:

 0

Program 4: Program to demonstrate the warning message when ($start+$length) exceeds the length of $string.

<?php
// PHP program to demonstrate the 
// substr_count() function 
  
$str = "geeks for geeks"
  
// ($start + $length ) > length of $str
echo substr_count($str, "geeks", 6, 14); 
  
?>

Выход:

Предупреждение PHP: substr_count (): значение длины 14 превышает длину строки

Program 5: Program to demonstrate the substr_count() when it does not count overlapped substring.

<?php
// PHP program to demonstrate the 
// substr_count() function 
  
$str = "abcabcab"
  
echo substr_count($str, "abcab");  
  
?>

Выход:

 1
PHP