substr_count

(PHP 4, PHP 5, PHP 7, PHP 8)

substr_count副文字列の出現回数を数える

説明

substr_count(
    string $haystack,
    string $needle,
    int $offset = 0,
    ?int $length = null
): int

substr_count() は、文字列 haystack の中での副文字列 needle の出現回数を返します。 needle は英大小文字を区別することに注意してください。

注意:

この関数は重なり合う副文字列をカウントしません。以下の例を見てください !

パラメータ

haystack

検索対象の文字列

needle

検索する副文字列

offset

開始位置のオフセット。 負の数を指定すると、文字列の末尾から数えます。

length

指定したオフセット以降に副文字列で検索する最大長。 オフセットと長さの総和が haystack の長さよりも長い場合、警告が発生します。 負の数を指定すると、haystack の末尾から数えます。

戻り値

この関数は 整数を返します。

変更履歴

バージョン 説明
8.0.0 length は、nullable になりました。
7.1.0 負の offsetlength をサポートするようになりました。 length は、0 を指定しても問題ありません。

例1 substr_count() の例

<?php
$text 
'This is a test';
echo 
strlen($text); // 14

echo substr_count($text'is'); // 2

// 文字列は 's is a test' になっているので, 1 が表示される
echo substr_count($text'is'3);

// テキストは 's i' になっているので, 0 が表示される
echo substr_count($text'is'33);

// 5+10 > 14 なので、警告が発生する
echo substr_count($text'is'510);


// 重なっている副文字列はカウントされないので、1 が表示される
$text2 'gcdgcdgcd';
echo 
substr_count($text2'gcdgcd');
?>

参考

  • count_chars() - 文字列で使用されている文字に関する情報を返す
  • strpos() - 文字列内の部分文字列が最初に現れる場所を見つける
  • substr() - 文字列の一部分を返す
  • strstr() - 文字列が最初に現れる位置を見つける

関連キーワード:  出現, 回数, substr, count, haystack, length, 関数, オフセット, int, offset