首页 >后端开发 >php教程 >如何对 PHP 字符串中的单词实例进行排序和计数?

如何对 PHP 字符串中的单词实例进行排序和计数?

Barbara Streisand
Barbara Streisand原创
2024-10-21 10:37:29649浏览

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() 函数计算数组中每个元素出现的次数。通过组合这两个函数,我们可以有效地计算字符串中每个单词的实例。

<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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn