一、substr_count介紹
substr_count 是PHP的一個內置函數,用於計算字符串中子字符串出現的次數。其語法是:
int substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] )
其中 haystack 是主字符串, needle 是要查找的子字符串, offset 是可選參數,指定從哪個索引開始查找,length 是可選參數,指定查找的範圍。
二、substr_count的用途
substr_count可以用於很多實際場景,例如:
1、字符串查找,如統計一個字符串中某個字符或子字符串出現的次數。
2、檢測一個字符串中是否包含某個子字符串。
3、當需要對某個字符串做削減操作時,需要知道某個子字符串的出現次數,以更好地切分字符串。
三、substr_count的示例
下面我們來看幾個具體的使用示例。
1、統計一個字符串中某個字符或子字符串出現的次數
示例代碼如下:
$str = "Hello World"; $count = substr_count($str, "o"); echo $count; // 輸出 2
代碼解釋:在$str中找到子串”o”,返回出現的次數。
2、檢測一個字符串中是否包含某個子字符串
示例代碼如下:
$str = "Hello World"; $count = substr_count($str, "World"); if ($count > 0) { echo "找到了"; } else { echo "沒找到"; }
代碼解釋:在$str中查找”World”是否存在,存在輸出“找到了”,否則輸出“沒找到”。
3、字符串削減
示例代碼如下:
$str = "this is a long string, I want to cut it"; $count = substr_count($str, " "); if ($count > 5) { // 當子字符串" "出現的次數大於5時 $newstr = substr($str, 0, strpos($str, " ", strpos($str, " ") + 1)); echo $newstr; // 輸出 "this is a long" }
代碼解釋:在$str中找到第6個空格,截取前面的子字符串。該示例可以用於按單詞切分字符串的場景。
四、substr_count的使用注意事項
1、第三個參數offset、第四個參數length可以不傳遞,默認值分別為0和字符串長度。
2、注意返回值類型為整型。
3、PHP文檔中說明,當 haystack 或 needle 是空字符串時返回值為0。
五、總結
substr_count是一個簡單卻十分實用的PHP內置函數,主要用於計算一個主字符串中某個子字符串的出現次數。其可以被運用到很多實際場景中,如統計字符串中某個字符或子字符串出現次數、檢測字符串是否包含某個子字符串以及字符串削減等。需要注意的是,其第三個參數offset和第四個參數length可以不傳遞,當參數為空字符串時,返回值為0。
原創文章,作者:BCKL,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/138655.html