Given a string containing some words and the task is to count number of words in a string str in PHP. In order to do this task, we have the following approaches:
Approach 1: Using str_word_count() Method: The str_word_count() method is used to counts the number of words in a string.
Syntax:
str_word_count(string, return, char)
Example:
PHP
<?php // PHP program to count number of // words in a string $str = " Geeks for Geeks " ; // Using str_word_count() function to // count number of words in a string $len = str_word_count ( $str ); // Printing the result echo $len ; ?> |
3
Approach 2: Here the idea is to use trim(), preg_replace(), count() and explode() method.
Step 1: Remove the trailing and leading white spaces using the trim() method and remove the multiple whitespace into a single space using preg_replace() method.
Step 2: Convert the string into an array using the explode() method.
Step 3: Now count() method counts the number of elements in an array.
Step 4: Resultant is the number of words in a string.
Example:
PHP
<?php // PHP program to count number // of words in a string // Function to count the words function get_num_of_words( $string ) { $string = preg_replace( '/\s+/' , ' ' , trim( $string )); $words = explode ( " " , $string ); return count ( $words ); } $str = " Geeks for Geeks " ; // Function call $len = get_num_of_words( $str ); // Printing the result echo $len ; ?> |
3
Approach 3: Here the idea is to use trim(), substr_count(), and str_replace() method.
Step 1: Remove the trailing and leading white spaces using the trim() method.
Step 2: Convert the multiple white spaces into single space using the substr_count() and str_replace() method.
Step 3: Now counts the number of word in a string using substr_count($str, ” “)+1 and return the result.
Example:
PHP
<?php // PHP program to count number // of word in a string // Function to count the words function get_num_of_words( $string ) { $str = trim( $string ); while (substr_count( $str , " " ) > 0) { $str = str_replace ( " " , " " , $str ); } return substr_count( $str , " " )+1; } $str = " Geeks for Geeks " ; // Function call $len = get_num_of_words( $str ); // Printing the result echo $len ; ?> |
3