您好,登录后才能下订单哦!
这篇文章主要讲解了“PHP如何获取字符串中包含的单词数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP如何获取字符串中包含的单词数”吧!
方法1:借助数组
我们可以分割字符串,将字符串中的每个单词转为数组中的一个数组元素;然后统计数组元素个数即可。
例如我有这样一个字符串,字符串中单词个数为9:
$str = "the quick brown fox jumps over the lazy dog";
可以先使用explode()函数根据空格来将字符串拆分为若干个子串,然后将这些子串组合成数组并返回。
$arr = explode(' ', $str);
使用var_dump($arr)
输出看看结果:
可以看出数组中一个元素对应字符串中的一个单词;因此我们可以使用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); ?>
输出结果为:
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); ?>
输出结果为:
可以看出,在上面的代码示例中直接使用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); ?>
输出结果为:
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); ?>
输出结果为:
这对我们操作某个单词的出现位置是很有帮助的。例如想要获取指定单词“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如何获取字符串中包含的单词数这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。