ホームページ  >  記事  >  バックエンド開発  >  文字列内に部分文字列が出現する回数をカウントする PHP 関数 substr_count()

文字列内に部分文字列が出現する回数をカウントする PHP 関数 substr_count()

黄舟
黄舟オリジナル
2017-11-06 13:37:442100ブラウズ

stringに「world」が出現する回数をカウントします:

<?php
echo substr_count("Hello world. The world is nice","world");
?>

substr_count() 関数は、文字列内に部分文字列が出現する回数をカウントします。

: 部分文字列では大文字と小文字が区別されます。

注: この関数は、重複する部分文字列をカウントしません (例 2 を参照)。

注: この関数は、start パラメーターと length パラメーターの合計が文字列の長さより大きい場合に警告を生成します (例 3 を参照)。

構文

substr_count(string,substring,start,length)
パラメータ 説明
文字列 必須。チェックする文字列を指定します。
部分文字列 必須。取得する文字列を指定します。
開始 はオプションです。文字列内のどこから検索を開始するかを指定します。
長さ はオプションです。検索の長さを指定します。

技術的な詳細

更多实例

实例 1

使用所有的参数:

<?php
$str = "This is nice";
echo strlen($str)."<br>"; // Using strlen() to return the string length
echo substr_count($str,"is")."<br>"; // The number of times "is" occurs in the string
echo substr_count($str,"is",2)."<br>"; // The string is now reduced to "is is PHP"
echo substr_count($str,"is",3)."<br>"; // The string is now reduced to "s is PHP"
echo substr_count($str,"is",3,3)."<br>"; // The string is now reduced to "s i"
?>

实例 2

重叠的子串:

<?php
$str = "abcabcab"; 
echo substr_count($str,"abcab"); // This function does not count overlapped substrings
?>

实例 3

如果 start 和 length 参数超过字符串长度,该函数则输出一个警告:

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

由于长度值超过字符串的长度(3 + 9大于12)。所以这将输出一个警告。

举例:

<?php
$text = &#39;This is a test&#39;;
echo strlen($text) . &#39;<br />&#39;; // 输出14
 
echo substr_count($text, &#39;is&#39;) . &#39;<br />&#39;; // 2
 
// the string is reduced to &#39;s is a test&#39;, so it prints 1
echo substr_count($text, &#39;is&#39;, 3) . &#39;<br />&#39;;//实际上就是从第四个字符开始查找是否在$text中含有is
 
// the text is reduced to &#39;re &#39;, so it prints 0
echo substr_count($text, &#39;are&#39;, 16, 3) . &#39;<br />&#39;;
 
// the text is reduced to &#39;s i&#39;, so it prints 0echo substr_count($text, &#39;is&#39;, 3, 3);
 
// generates a warning because 5+10 > 14
echo substr_count($text, &#39;is&#39;, 5, 10) . &#39;<br />&#39;;
 
 
// prints only 1, because it doesn&#39;t count overlapped subtrings
$text2 = &#39;gcdgcdgcd&#39;;
echo substr_count($text2, &#39;gcdgcd&#39;) . &#39;<br />&#39;;
 ?>
戻り値: 文字列内に部分文字列が出現する回数を返します。
PHP バージョン: 4+
更新ログ: PHP 5.1 では、start パラメーターと length パラメーターが追加されました。

以上が文字列内に部分文字列が出現する回数をカウントする PHP 関数 substr_count()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。