當前位置: 首頁> 最新文章列表> 怎樣用str_word_count 函數快速統計一個文本文件中的單詞數?

怎樣用str_word_count 函數快速統計一個文本文件中的單詞數?

M66 2025-08-07

在PHP 中, str_word_count是一個非常實用的內置函數,它可以快速統計字符串中的單詞數。這個函數不僅可以用於簡單的字符串,也可以方便地應用於從文件中讀取的文本內容。本文將為大家介紹如何使用str_word_count函數來統計一個文本文件中的單詞數。

str_word_count函數概述

str_word_count函數的基本語法如下:

 <span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-title function_ invoke__">str_word_count</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$format</span></span><span> = </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span>|</span><span><span class="hljs-literal">null</span></span><span> </span><span><span class="hljs-variable">$charlist</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>)
</span></span>
  • $string : 要處理的輸入字符串。

  • $format : 控制返回結果的格式,0表示返回單詞數,1表示返回單詞數組,2表示返回關聯數組,鍵是單詞位置,值是單詞。

  • $charlist : 可選的字符列表,定義哪些字符被視為單詞的一部分。

在默認情況下(即$format = 0 ),該函數將返回文本中的單詞數。

讀取文件內容並統計單詞數

假設我們有一個文本文件example.txt ,我們需要統計其中的單詞數量。首先,我們需要使用file_get_contents()函數讀取文件內容,然後使用str_word_count來統計單詞數。以下是完整的PHP 代碼示例:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>

</span><span><span class="hljs-comment">// 讀取文本文件內容</span></span><span>
</span><span><span class="hljs-variable">$fileContent</span></span><span> = </span><span><span class="hljs-title function_ invoke__">file_get_contents</span></span><span>(</span><span><span class="hljs-string">'example.txt'</span></span><span>);

</span><span><span class="hljs-comment">// 檢查文件是否為空</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$fileContent</span></span><span> === </span><span><span class="hljs-literal">false</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"無法讀取文件。"</span></span><span>;
    </span><span><span class="hljs-keyword">exit</span></span><span>;
}

</span><span><span class="hljs-comment">// 使用 str_word_count 函數統計單詞數</span></span><span>
</span><span><span class="hljs-variable">$wordCount</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_word_count</span></span><span>(</span><span><span class="hljs-variable">$fileContent</span></span><span>);

</span><span><span class="hljs-comment">// 輸出結果</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"文件中的單詞總數為:<span class="hljs-subst">$wordCount</span></span></span><span>";

</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

代碼解析:

  1. 讀取文件內容:我們通過file_get_contents()函數讀取example.txt文件的內容。如果文件不存在或者讀取失敗, file_get_contents()會返回false ,因此我們使用一個簡單的條件判斷來檢查是否成功讀取文件。

  2. 統計單詞數:通過調用str_word_count()函數,我們可以輕鬆獲取文件中的單詞數。這個函數會自動忽略標點符號,並且根據空白字符(如空格、換行符)來分割單詞。

  3. 輸出結果:最後,我們將統計的單詞數輸出到屏幕上。

使用其他str_word_count參數

雖然上述代碼是統計單詞數的最簡單方式,但str_word_count函數還提供了一些其他的功能。我們可以通過修改format參數,獲取更多的結果:

獲取單詞數組

如果你希望得到文本中的所有單詞,並將它們作為數組返回,可以將$format設置為1:

 <span><span><span class="hljs-variable">$wordArray</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_word_count</span></span><span>(</span><span><span class="hljs-variable">$fileContent</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$wordArray</span></span><span>);
</span></span>

獲取關聯數組

如果你希望知道每個單詞在文本中的位置,可以將$format設置為2。此時,返回的是一個關聯數組,其中鍵是單詞的位置(在文本中的起始位置),值是該單詞本身:

 <span><span><span class="hljs-variable">$wordPositions</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_word_count</span></span><span>(</span><span><span class="hljs-variable">$fileContent</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$wordPositions</span></span><span>);
</span></span>

總結

str_word_count是一個非常簡潔且高效的函數,用於統計文本中的單詞數。在處理文本文件時,結合file_get_contentsstr_word_count可以幫助我們快速完成任務。當然,如果你需要更多的定制化處理,也可以通過調整str_word_count的參數來獲取不同格式的輸出。

希望本篇文章能夠幫助你更好地理解如何在PHP 中使用str_word_count函數,並在實際項目中得心應手地應用它。