当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP String substr_count()用法及代码示例


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_count() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。