當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。