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