substr_count() 是 PHP 的 内置 函数。它计算子字符串在给定字符串中出现的次数。 substr_count() 是一个区分大小写的函数,这意味着它以不同的方式处理大写和小写字母。
例如 - 子字符串 "cha" 不存在于字符串 "CHaru" 中。
注意:substr_count() 是一个区分大小写函数。
此函数提供了计算子字符串在主字符串中出现多少次的函数?它还提供了在给定索引范围内搜索子字符串的选项。如果为搜索指定的起始值和长度值大于传递的字符串,则它会向用户返回警告。 PHP 4 及以上版本支持此函数。
注意:substr_count() 函数不计算重叠的子串。 (参见示例 3)。
用法
substr_count() 的语法如下所示,它接受四个参数、两个字符串和两个整数类型值。
substr_count($string, $substring, $start, $length)
参数
$string(必需):$string 参数是主字符串参数,其中计算子字符串的出现次数。它是 substr_count() 函数的必选参数。
$substring(必填):在 $string 参数中搜索此参数中传递的值,并返回子字符串的计数出现次数。它也是 substr_count() 函数的必选参数。
$start(可选):该参数由一个整数值组成。它指定从哪里开始计数。 $start 是此函数的可选参数。在此参数中传递的值是负数,然后它将从字符串的末尾开始计数。
$length(可选):此参数是可选参数,取决于 $start 参数。如果 $start 和 $length 一起($start+$length)大于 $string 的长度,则 substr_count() 将生成警告。负长度始终从字符串的末尾开始计数。
返回值
substr_count 返回一个整数意味着它返回子字符串在主字符串中出现的次数。
变更日志
- 在 PHP 5.1.0 中,添加了两个新参数,即 $start 和 $length。
- 从 PHP 7.1.0 开始, $start 和 $length 也支持负值。长度现在也可以为 0。
例子
下面给出一些例子。借助这些例子学习substr_count()函数在程序中的实际实现。
范例1:没有可选参数的程序。
<?php
$strin = "Good Health Good Life";
$sub_str = "Good";
echo substr_count($strin, $sub_str);
?>
输出:
在上面的例子中,"Good" 子串在主串中出现了 2 次。
2
范例2:传递 $start 参数时编程。
<?php
$strin = "Good Health Good Life";
$sub_strin = "Good";
echo substr_count($strin, $sub_strin, 5);
?>
输出:
在上面的例子中,"Good" 子字符串在主字符串中只找到一次,因为搜索是从 5 开始的th位置。
1
范例3:当 $start 和 $length 两个参数都被传递时编程。
<?php
$strin = "Good Health Good Life";
$sub_strin = "Good";
echo substr_count($strin, $sub_strin, 5, 10);
?>
输出:
在上面的例子中,"Good" 子串在主串中没有找到,因为搜索是从 5 开始的th位置到 15th($开始+$长度)。
0
范例4:区分大小写
<?php
$strin = "Good Health Good Life";
$sub_strin = "LIFE";
echo substr_count($strin, $sub_strin);
?>
输出:
在上面的例子中,在主字符串中没有找到 "LIFE" 子字符串,因为 substr_compare() 是一个区分大小写的函数。
0
范例5:
<?php
$strin = "Hello javaworld";
$sub_strin = "Hello";
echo substr_count($strin, $sub_strin, 5,12);
?>
输出:
这里出现警告,因为start + length > strin,即(5+12 > 15)。 $start + $length 参数的长度不应超过主字符串的长度。
Warning: substr_count():Invalid length value in C:\xampp\htdocs\xampp\PMA\substr_count.php on line 4
范例6:重叠子串
<?php
$strin = "Hello javava";
$sub_strin = "java";
echo substr_count($strin, $sub_strin);
?>
输出:
它返回 1,因为它没有计算重叠的子字符串。
1
相关用法
- PHP String substr_compare()用法及代码示例
- PHP String substr_replace()用法及代码示例
- PHP String substr()用法及代码示例
- PHP String sprintf()用法及代码示例
- PHP String strtr()用法及代码示例
- PHP String strtolower()用法及代码示例
- PHP String strspn()用法及代码示例
- PHP String strtoupper()用法及代码示例
- PHP String strtok()用法及代码示例
- PHP String strstr()用法及代码示例
- PHP String str_replace()用法及代码示例
- PHP String sscanf()用法及代码示例
- PHP String strrpos()用法及代码示例
- PHP String wordwrap()用法及代码示例
- PHP String ucwords()用法及代码示例
- PHP String localeconv()用法及代码示例
- PHP String quoted_printable_encode()用法及代码示例
- PHP String ucfirst()用法及代码示例
- PHP String nl2br()用法及代码示例
- PHP String vsprintf()用法及代码示例
注:本文由纯净天空筛选整理自 PHP String substr_count() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。