在 PHP 中对字符串中的单词实例进行排序和计数
对字符串中单词的出现次数进行排序和计数是编程中的常见任务。幸运的是,PHP 为这个问题提供了一个简单而优雅的解决方案。
使用 str_word_count() 和 array_count_values()
str_word_count() 函数返回所有单词的数组在字符串中,而 array_count_values() 函数计算数组中每个元素出现的次数。通过组合这两个函数,我们可以有效地计算字符串中每个单词的实例。
<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中文网其他相关文章!