PHP で substr_count 関数を使用して文字列内の部分文字列の出現数をカウントする方法

王林
リリース: 2023-06-26 15:00:02
オリジナル
1288 人が閲覧しました

文字列操作は、Web アプリケーションの開発時に非常に一般的な操作です。 PHP では、文字列処理関数が非常によく設計されており、使用できる組み込み関数が多数あります。そのうちの 1 つは substr_count() 関数で、文字列内の特定の部分文字列の出現数をカウントするために使用できます。この記事では、PHP で substr_count() 関数を使用して、文字列内に部分文字列が出現する回数をカウントする方法を紹介します。

substr_count の構文形式は次のとおりです: substr_count(string $haystack, string $needle, int $offset = 0, int $length = 0)

$haystack パラメーターは指定された文字列です。 $needle パラメータは検索する部分文字列です。$offset はオプションで、検索を開始する場所を示します。$length もオプションで、検索する長さを示します。

次の簡単な例は、substr_count() 関数を使用して文字列内の特定の部分文字列の出現数を数える方法を示しています。

<?php
$str = "Hello World, Hello PHP,你好世界";
$count = substr_count($str, "Hello");
echo "出现 $count 次
";
?>
ログイン後にコピー

この例では、$str は検索したい文字列、「Hello」は検索する部分文字列です。 substr_count() 関数を実行すると、指定された文字列内に部分文字列「Hello」が 3 回出現するため、$count の値は 3 になります。

さらに、$offset パラメーターと $length パラメーターもオプションで使用できます。たとえば、次の例では、文字列内の「World」部分文字列の出現数をカウントする必要がありますが、検索は 7 番目の文字からのみ開始します。

<?php
$str = "Hello World, Hello PHP,你好世界";
$count = substr_count($str, "World", 7);
echo "出现 $count 次
";
?>
ログイン後にコピー

この例では、2 番目の文字を渡しています。パラメータ 7 は $offset パラメータとして使用され、文字列の 7 番目の文字から検索が開始されることを示します。指定された文字列には部分文字列「World」が 1 回しか出現しないため、関数の実行後、$count の値は 1 になります。

検索を特定の長さに制限したい場合は、3 番目のパラメータを使用できます。たとえば、次の例では、指定された文字列内に部分文字列「Hello」が出現する回数をカウントしますが、検索を最初の 18 文字に制限します。

<?php
$str = "Hello World, Hello PHP,你好世界";
$count = substr_count($str, "Hello", 0, 18);
echo "出现 $count 次
";
?>
ログイン後にコピー

この例では、 3 番目のパラメーター 18 は $length パラメーターとして使用されます。これは、最初の 18 文字のみが検索されることを意味します。関数の実行後、最初の 18 文字には部分文字列「Hello」が 1 回しか出現しないため、$count の値は 1 になります。

概要

substr_count() 関数は、PHP の非常に便利な文字列処理関数です。これを使用して、文字列内の特定の部分文字列の出現をカウントできます。コードの可読性と保守性を向上させるためには、関数パラメータの意味にも注意を払い、統一されたコーディング スタイルに従う必要があります。

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート