PHP | substr_count()函数
substr_count()是PHP中的内置函数,用于计算子字符串在给定字符串中出现的次数。该函数还为我们提供了在给定索引范围内搜索给定子字符串的选项。它区分大小写,即字符串“Abcab”中不存在“abc”子字符串。如果为搜索指定的 (start+length) 值超过了传递的字符串的大小,它会向用户返回一条警告消息。
句法:
substr_count($string, $substring, $start, $length)
参数:此函数接受四个参数,如上述语法所示,如下所述。
- $ 字符串 – 参数中传递的字符串是计算子字符串出现次数的字符串。必须提供此参数。
- $substring – 参数中传入的子字符串被搜索为字符串,并返回出现次数。必须提供此参数。
- $start – 此参数是可选的。如果传递了此参数,则从开始位置开始搜索,而不是搜索整个字符串以查找子字符串的出现。
- $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