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 サイトの他の関連記事を参照してください。