PHP substr_count() 函数

实例

计算 "Shanghai" 在字符串中出现的次数:

<?php
echo substr_count("I love Shanghai. Shanghai is the biggest city in china.","Shanghai");
?>

اجرای نمونه

substr_count() 函数计算子串在字符串中出现的次数。

注释:子串是区分大小写的。

注释:该函数不计数重叠的子串(参见例子 2)。

注释:اگر شروع 参数加上 طول 参数大于字符串长度,则该函数生成一个警告(参见例子 3)。

语法

substr_count(string,substring,شروع,طول)
参数 描述
string 必需。规定被检查的字符串。
substring 必需。规定要搜索的字符串。
شروع 可选。规定在字符串中何处开始搜索。
طول 可选。规定搜索的长度。

جزئیات فنی

مقدار بازگشتی: تعداد دفعات ظاهر شدن زیررشته در رشته را بازمی‌گرداند.
نسخه PHP: 4+
گزارش به‌روزرسانی: در PHP 5.1، شروع و طول پارامترها.

نمونه‌های بیشتر

مثال 1

از همه پارامترها استفاده کنید:

<?php
$str = "This is nice";
echo strlen($str)."<br>"; // از strlen() برای بازگرداندن طول رشته استفاده می‌شود
echo substr_count($str,"is")."<br>"; // تعداد باری که "is" در رشته ظاهر می‌شود
echo substr_count($str,"is",2)."<br>"; // رشته به "is is nice" کاهش می‌یابد
echo substr_count($str,"is",3)."<br>"; // رشته به "s is nice" کاهش می‌یابد
echo substr_count($str,"is",3,3)."<br>"; // رشته به "s i" کاهش می‌یابد
?>

اجرای نمونه

مثال 2

زیررشته‌های همپوشان:

<?php
$str = "abcabcab";
echo substr_count($str,"abcab"); // این فونکشن برای شمارش زیررشته‌های همپوشان کار نمی‌کند
?>

اجرای نمونه

مثال 3

اگر شروع و طول اگر پارامترها بیشتر از طول رشته باشند، این فونکشن یک هشدار نمایش می‌دهد:

<?php
echo $str = "This is nice";
substr_count($str,"is",3,9);
?>

چون مقدار طول بیشتر از طول رشته است (3 + 9 بیشتر از 12)، استفاده از آن یک هشدار را نمایش می‌دهد.