Dada uma string contendo algumas palavras e a tarefa é contar o número de palavras em uma string str no PHP. Para fazer essa tarefa, temos as seguintes abordagens:

Abordagem 1: Usando o Método str_word_count() : O método str_word_count() é usado para contar o número de palavras em uma string.

Sintaxe :

str_word_count(string, return, char)

Exemplo:

<?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; 
?>
Saída

3

Abordagem 2: Aqui, a ideia é usar os métodos trim() , preg_replace() , count() e explode()

Etapa 1: remova os espaços em branco à direita e à esquerda usando o método trim() e remova os vários espaços em branco em um único espaço usando o método preg_replace() .

Etapa 2: Converta a string em um array usando o método explode() .

Etapa 3: agora o método count() conta o número de elementos em um array.

Etapa 4: Resultante é o número de palavras em uma string.

Exemplo:

<?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; 
?>
Saída
3

Abordagem 3: aqui, a ideia é usar o método trim() , substr_count()str_replace()

Etapa 1: remova os espaços em branco à direita e à esquerda usando o método trim() .

Passo 2: Converter os múltiplos espaços em branco para o espaço único usando o substr_count() e str_replace() método .

Passo 3: Agora conta o número de palavras em uma string usando substr_count ($str, ”“) +1 e retorna o resultado.

Exemplo:

<?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; 
?>
Saída
3