Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<str_starts_withstrcasecmp>
^String FunctionsLast updated: Mon, 26 Oct 2026

str_word_count

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

str_word_count — Return information about words used in a string

Description

function str_word_count(string $string, int $format = 0, ?string $characters = null): array|int

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. Note that multibyte locales are not supported.

Parameters

string

The string

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

characters

A list of additional characters which will be considered as 'word'

Return Values

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

Errors/Exceptions

Throws a ValueError if format is not 0, 1 or 2.

Changelog

Version Description
8.0.0 Now throws a ValueError if format is invalid. Previously, an E_WARNING was raised and false was returned.
8.0.0 characters is nullable now.

Examples

Example #1 A str_word_count() example

<?php

$str = "Hello fri3nd, you're
       looking          good today!";

print_r(str_word_count($str, 1));
print_r(str_word_count($str, 2));
print_r(str_word_count($str, 1, 'àáãç3'));

echo str_word_count($str);

?>

The above example will output:

Array
(
    [0] => Hello
    [1] => fri
    [2] => nd
    [3] => you're
    [4] => looking
    [5] => good
    [6] => today
)
Array
(
    [0] => Hello
    [6] => fri
    [10] => nd
    [14] => you're
    [28] => looking
    [45] => good
    [50] => today
)
Array
(
    [0] => Hello
    [1] => fri3nd
    [2] => you're
    [3] => looking
    [4] => good
    [5] => today
)
7

See Also


<str_starts_withstrcasecmp>
^String FunctionsLast updated: Mon, 26 Oct 2026