Read a text file and find the count of word

If you wants to list out the count of respective words from a huge text file then you can do that by following the below process.


Function: 
str_word_count: mixed str_word_count ( string $string [, int $format = 0 [, string $charlist ]] )

Description:
Counts the number of words inside string. If the optional format is not specified, then the return value will be an integer representing the number of words found. In the event the format is specified, the return value will be an array, content of which is dependent on the format. 
 
The possible value for the format and the resultant outputs are listed below. 
 For the purpose of this function, 'word' is defined as a locale dependent string containing alphabetic characters, which also may contain, but not start with "'" and "-" characters.

Parameters for str_word_count as as follows:

a. string: The string

b. format: Specify the return value of this function. The current supported values are:
        0 – returns the number of words found
        1 – returns an array containing all the words found inside the string
        2 – returns an associative array, where the key is the numeric position of the word inside the string and the value is the actual word itself

c. charlist: A list of additional characters which will be considered as 'word'

Return Values: Returns an array or an integer, depending on the format chosen.


Function:
array_count_values: array array_count_values ( array $array )

Description: 
array_count_values() returns an array using the values of array as keys and their frequency in array as values.

Parameters: 
a.  array: The array of values to count

Return Values: Returns an associative array of values from array as keys and their count as value. Its a case-sensitive so treat caps and small as two seprate words.

Errors/Exceptions: Throws E_WARNING for every element which is not string or integer.


Example:

<?php

$fileName    = 'wordCnt.txt';

$fh         = fopen($fileName, "rb");                                    //File open
$data         = fread($fh, filesize($fileName));                            // Reading of file
fclose($fh);                                                            // File close //print_r($data);

$arrOut = str_word_count($data, 1);
$output = array_count_values(str_word_count($data, 1));

echo "<pre>"; print_r($output);    print_r($arrOut);echo "</pre>";

?>

Posted in PHP | Comments Off

Comments are closed.