欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP字符串学习之怎么知道字符串中包含了多少单词

程序员文章站 2022-03-02 08:00:59
...
在之前的文章《PHP字符串学习之转换第一个字符的大小(3种方法)》中,我们了解了把字符串中每个单词的首字符转换为大写的方法。这次我们继续看看PHP字符串中的单词,聊聊计算字符串中单词个数的方法,感兴趣的朋友可以学习学习~

我们怎么知道字符串中包含了多少个单词?怎么统计符串中单词的个数?今天带大家了解一下。

方法1:借助数组

我们可以分割字符串,将字符串中的每个单词转为数组中的一个数组元素;然后统计数组元素个数即可。

例如我有这样一个字符串,字符串中单词个数为9:

$str = "the quick brown fox jumps over the lazy dog";

可以先使用explode()函数根据空格来将字符串拆分为若干个子串,然后将这些子串组合成数组并返回。

$arr = explode(' ', $str);

使用var_dump($arr)输出看看结果:

PHP字符串学习之怎么知道字符串中包含了多少单词

可以看出数组中一个元素对应字符串中的一个单词;因此我们可以使用count()统计数组元素的个数,那么也就得到了字符串中单词个数。下面给出实现代码:

<?php
header("content-type:text/html;charset=utf-8");
$str = "the quick brown fox jumps over the lazy dog";
$arr = explode(' ', $str);
echo "字符串中单词的个数为:".count($arr);
?>

输出结果为:

PHP字符串学习之怎么知道字符串中包含了多少单词

2、使用str_word_count()函数

其实PHP中就内置了一个函数str_word_count()来计算字符串中的单词数。

<?php
header("content-type:text/html;charset=utf-8");
$str = "the quick brown fox jumps over the lazy dog";
echo "字符串中单词的个数为:".str_word_count($str);
?>

输出结果为:

PHP字符串学习之怎么知道字符串中包含了多少单词

可以看出,在上面的代码示例中直接使用str_word_count($str)就可以返回单词数。下面来了解一下str_word_count()函数:

str_word_count($string,$return,$char)函数接受1个必需参数$string,2个可省略的参数$return$char

必需参数$string大家知道什么意思,可省略的参数$char用于规定被认定为单词的特殊字符,这里就不介绍了;我们来具体聊聊可省略的参数$return

参数$return用于规定 str_word_count() 函数的返回值,有三种取值:

  • 0 - 默认值,会返回找到的单词的数目(也就是上文的结果)。

  • 1 - 会返回包含字符串中的单词的数组。

<?php
header("content-type:text/html;charset=utf-8");
$str = "the quick brown fox jumps over the lazy dog";
$arr = str_word_count($str,1);
var_dump($arr);
?>

输出结果为:

PHP字符串学习之怎么知道字符串中包含了多少单词

  • 2 - 返回一个数组,其中的键名是单词在字符串中的位置,键值是实际的单词。

<?php
header("content-type:text/html;charset=utf-8");
$str = "the quick brown fox jumps over the lazy dog";
$arr = str_word_count($str,2);
var_dump($arr);
?>

输出结果为:

PHP字符串学习之怎么知道字符串中包含了多少单词

这对我们操作某个单词的出现位置是很有帮助的。例如想要获取指定单词“brown”出现位置,可以使用array_search() 函数在数组中搜索某个键值,并返回对应的键名。(如果在数组中找到键值超过一次,则返回第一次找到的键值所匹配的键名。)

<?php
header("content-type:text/html;charset=utf-8");
$str = "the quick brown fox jumps over the lazy dog";
$arr = str_word_count($str,2);
echo array_search("brown",$arr); 
?>

输出结果为:

PHP字符串学习之怎么知道字符串中包含了多少单词

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →php视频教程

最后给大家推荐阅读一个经典课程《PHP字符串处理(玉女心经版)》,免费的~快来学习啊!

以上就是PHP字符串学习之怎么知道字符串中包含了多少单词的详细内容,更多请关注其它相关文章!