PHP String substr_count() 函数

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开始,$star$length也支持负值。现在$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个位置开始的。

1

示例3: 程序当start和length两个参数都传递时。

<?php 
    strin = "Good Health Good Life";sub_strin = "Good";
    echo substr_count(strin,sub_strin, 5, 10);
?>  

输出:

在上面的示例中,“Good”子字符串在主字符串中没有被找到,因为搜索是从第5个位置开始到第15个位置start+length)

0

示例 4: 区分大小写

<?php 
    strin = "Good Health Good Life";sub_strin = "LIFE";
    echo substr_count(strin,sub_strin);
?>  

输出:

在上面的示例中,由于substr_compare()是区分大小写的函数,所以在主字符串中找不到”LIFE”子字符串。

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程