在之前的文章《PHP字符串學(xué)習(xí)之轉(zhuǎn)換第一個(gè)字符的大小(3種方法)》中,我們了解了把字符串中每個(gè)單詞的首字符轉(zhuǎn)換為大寫的方法。這次我們繼續(xù)看看PHP字符串中的單詞,聊聊計(jì)算字符串中單詞個(gè)數(shù)的方法,感興趣的朋友可以學(xué)習(xí)學(xué)習(xí)~
我們?cè)趺粗雷址邪硕嗌賯€(gè)單詞?怎么統(tǒng)計(jì)符串中單詞的個(gè)數(shù)?今天帶大家了解一下。
方法1:借助數(shù)組
我們可以分割字符串,將字符串中的每個(gè)單詞轉(zhuǎn)為數(shù)組中的一個(gè)數(shù)組元素;然后統(tǒng)計(jì)數(shù)組元素個(gè)數(shù)即可。
例如我有這樣一個(gè)字符串,字符串中單詞個(gè)數(shù)為9:
$str = "the quick brown fox jumps over the lazy dog";
可以先使用explode()函數(shù)根據(jù)空格來(lái)將字符串拆分為若干個(gè)子串,然后將這些子串組合成數(shù)組并返回。
$arr = explode(' ', $str);
使用var_dump($arr)
輸出看看結(jié)果:
可以看出數(shù)組中一個(gè)元素對(duì)應(yīng)字符串中的一個(gè)單詞;因此我們可以使用count()統(tǒng)計(jì)數(shù)組元素的個(gè)數(shù),那么也就得到了字符串中單詞個(gè)數(shù)。下面給出實(shí)現(xiàn)代碼:
<?php header("content-type:text/html;charset=utf-8"); $str = "the quick brown fox jumps over the lazy dog"; $arr = explode(' ', $str); echo "字符串中單詞的個(gè)數(shù)為:".count($arr); ?>
輸出結(jié)果為:
2、使用str_word_count()函數(shù)
其實(shí)PHP中就內(nèi)置了一個(gè)函數(shù)str_word_count()來(lái)計(jì)算字符串中的單詞數(shù)。
<?php header("content-type:text/html;charset=utf-8"); $str = "the quick brown fox jumps over the lazy dog"; echo "字符串中單詞的個(gè)數(shù)為:".str_word_count($str); ?>
輸出結(jié)果為:
可以看出,在上面的代碼示例中直接使用str_word_count($str)
就可以返回單詞數(shù)。下面來(lái)了解一下str_word_count()函數(shù):
str_word_count($string,$return,$char)
函數(shù)接受1個(gè)必需參數(shù)$string
,2個(gè)可省略的參數(shù)$return
和$char
。
必需參數(shù)$string大家知道什么意思,可省略的參數(shù)$char
用于規(guī)定被認(rèn)定為單詞的特殊字符,這里就不介紹了;我們來(lái)具體聊聊可省略的參數(shù)$return
。
參數(shù)$return
用于規(guī)定 str_word_count() 函數(shù)的返回值,有三種取值:
-
0
– 默認(rèn)值,會(huì)返回找到的單詞的數(shù)目(也就是上文的結(jié)果)。 -
1
– 會(huì)返回包含字符串中的單詞的數(shù)組。
<?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); ?>
輸出結(jié)果為:
-
2
– 返回一個(gè)數(shù)組,其中的鍵名是單詞在字符串中的位置,鍵值是實(shí)際的單詞。
<?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); ?>
輸出結(jié)果為:
這對(duì)我們操作某個(gè)單詞的出現(xiàn)位置是很有幫助的。例如想要獲取指定單詞“brown”出現(xiàn)位置,可以使用array_search() 函數(shù)在數(shù)組中搜索某個(gè)鍵值,并返回對(duì)應(yīng)的鍵名。(如果在數(shù)組中找到鍵值超過一次,則返回第一次找到的鍵值所匹配的鍵名。)
<?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); ?>
輸出結(jié)果為:
好了就說到這里了,有其他想知道的,可以點(diǎn)擊這個(gè)哦?!?→php視頻教程
最后給大家推薦閱讀一個(gè)經(jīng)典課程《PHP字符串處理(玉女心經(jīng)版)》,免費(fèi)的~快來(lái)學(xué)習(xí)?。?/p>