📜  PHP | substr_count()函数

📅  最后修改于: 2022-05-13 01:56:35.558000             🧑  作者: Mango

PHP | substr_count()函数

substr_count()是PHP中的内置函数,用于计算子字符串在给定字符串中出现的次数。该函数还为我们提供了在给定索引范围内搜索给定子字符串的选项。它区分大小写,即字符串“Abcab”中不存在“abc”子字符串。如果为搜索指定的 (start+length) 值超过了传递的字符串的大小,它会向用户返回一条警告消息。

句法:

substr_count($string, $substring, $start, $length)

参数:此函数接受四个参数,如上述语法所示,如下所述。

  1. $ 字符串 – 参数中传递的字符串是计算子字符串出现次数的字符串。必须提供此参数。
  2. $substring – 参数中传入的子字符串被搜索为字符串,并返回出现次数。必须提供此参数。
  3. $start – 此参数是可选的。如果传递了此参数,则从开始位置开始搜索,而不是搜索整个字符串以查找子字符串的出现。
  4. $length - 此参数是可选的。该参数取决于启动。它限制了从开始到开始+长度位置的搜索操作。如果 start+length 的值增加了字符串的长度,则会生成警告消息

返回值:此函数在不同情况下可以返回不同的值,如下所示。

  • 如果未传递可选参数,则给定子字符串在字符串中出现的次数
  • start 传入参数时子串在字符串中从开始位置到结束位置出现的次数
  • 传递 start 和 length 两个参数时,子字符串在字符串中从 start 到 start+length 位置出现的次数。

例子:

Input: string= "geeks for geeks" substring="geeks" 
Output: 2
Explanation: "geeks" occurs two times in the given string 

Input: string= "geeks for geeks" substring="geeks" start=6 
Output: 1 
Explanation: "geeks" occurs one time in the given string, in 
this case search for substring starts from 6th position i.e., 
the substring is searched in "for geeks".  

下面的程序说明了 substr_count()函数:

方案 1:当两个可选参数都没有传递时。


输出:

2

程序 2:传递参数 $start 时。


输出:

1

程序 3:当 $start 和 $length 都通过时。


输出:

0

程序 4:当 ($start+$length) 超过 $ 字符串的长度时,演示警告信息的程序。

 length of $str
echo substr_count($str, "geeks", 6, 14); 
  
?>

输出:

PHP Warning:  substr_count(): Length value 14 exceeds string length

程序 5:在不计算重叠子串时演示 substr_count() 的程序。


输出:

1