Open In App

How to count the number of words in a string in PHP ?

Improve
Improve
Like Article
Like
Save
Share
Report

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
?>


Output

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
?>


Output

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
?>


Output

3


Last Updated : 27 May, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads