ホームページ > バックエンド開発 > PHPチュートリアル > PHP 文字列内の単語インスタンスを並べ替えてカウントするにはどうすればよいですか?

PHP 文字列内の単語インスタンスを並べ替えてカウントするにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-21 10:37:29
オリジナル
654 人が閲覧しました

How to Sort and Count Word Instances in a PHP String?

PHP での文字列内の単語インスタンスの並べ替えとカウント

文字列内の単語の出現の並べ替えとカウントは、プログラミングにおける一般的なタスクです。幸いなことに、PHP は、この問題に対してシンプルで洗練された解決策を提供します。

str_word_count() と array_count_values() を使用する

str_word_count() 関数は、すべての単語の配列を返します。一方、array_count_values() 関数は配列内の各要素の出現数をカウントします。これら 2 つの関数を組み合わせることで、文字列内の各単語のインスタンスを効率的にカウントできます。

<code class="php">$str = 'happy beautiful happy lines pear gin happy lines rock happy lines pear ';
$words = array_count_values(str_word_count($str, 1));</code>
ログイン後にコピー

結果の配列 $words には、$str 内の各一意の単語の数が含まれます。

エントリの並べ替え

単語数を並べ替えるには、キーを保持しながら配列を降順に並べ替える arsort() 関数を使用できます。

<code class="php">arsort($words);</code>
ログイン後にコピー

これにより、$words 配列が各単語の数で並べ替えられ、最も頻繁に出現する単語が配列の先頭になります。

結果の出力

最後に、$words 配列をループして各単語の数を出力します:

<code class="php">foreach ($words as $word => $count) {
    echo "There are $count instances of $word.<br>";
}</code>
ログイン後にコピー

このコードは次のように出力します:

There are 4 instances of happy.
There are 3 instances of lines.
There are 2 instances of gin.
There are 1 instance of pear.
There are 1 instance of rock.
There are 1 instance of beautiful.
ログイン後にコピー

追加メモ

str_word_count() に渡される 1 つの引数は、文字列ではなくすべての単語の配列を返す必要があることを示します。

エントリの並べ替えはオプションですが、便利な場合があります。より意味のある方法でデータを表示します。

このソリューションは、文や段落など、他のタイプの文字列を処理するように簡単に適応できます。

以上がPHP 文字列内の単語インスタンスを並べ替えてカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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