Due to the fact that PHP's regular expressions are so versatile, many functions that have been designed by
PHP developers have been overlooked in the past because the tasks were able to be completed with regular
expressions. However, there are two functions that should not be overlooked due to their simplicity in
performing a more complex task.
• count_chars -
This built-in function provides information about the number of times that an standard
ASCII character appears in the string.
<?php
$text = "I went to Mississippi for the summer.";
$letters = count_chars($text, 1);
// 1 counts only the characters that show up more than zero
times
// 0 is the default and produces the entire listing of standard
// ASCII characters, even those not showing up in the string
// 2 returns only those ASCII characters that do not show up
// 3 & 4 return byte info (all located and all unused,
respectively)
foreach($letters as $key=>$value) {
print chr($key)." = ".$value;
}
// A list of characters followed by their frequency appears
// The order is based on the standard ASCII order
?>
str_word_count -
This built-in function works on a similar principal to the count_chars() function,
but with the focus on the words themselves versus the characters. The basic function is to return a
numeric count of the number of words contained in the string.
<?php
$text = "I went to Mississippi for the summer.";
print str_word_count($text); // Returns the number of words
found
?>
Another way the function works is by placing each word in the string into an array. This array can be
built one of two ways. By placing a numeric 1 in the second parameter option, the array will be built
with just the words as the entities for the array. By placing a numeric 2 in the second parameter
option, the array will be built with the entities built with the key being the numeric location of where
the word was located in the array and the value of the word as the key.
<?php
$text = "I went to Mississippi for the summer.";
$words = str_word_count($text,1);
print_r($words,1);
// The following will be "printed" out:
// Array ( [0] => I [1] => went [2] => to [3] => Mississippi
// [4] => for [5] => the [6] => summer )
?>
<?php
$text = "I went to Mississippi for the summer.";
$words = str_word_count($text,2);
print_r($words,1);
// The following will be "printed" out:
// Array ( [0] => I [2] => went [7] => to [10] => Mississippi
// [22] => for [26] => the [30] => summer )
?>
Comments
Post a Comment