Return information about words used in a string

- « str_starts_with

- strcasecmp »

- PHP Manual
- String Functions
- Return information about words used in a string

# 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

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.

### Changelog

Version | Description
--- | ---
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
        [29] => looking
        [46] => good
        [51] => today
    )

    Array
    (
        [0] => Hello
        [1] => fri3nd
        [2] => you're
        [3] => looking
        [4] => good
        [5] => today
    )

    7

### See Also

- explode() - Split a string by a string
- preg_split() - Split string by a regular expression
- count_chars() - Return information about characters used in a string
- substr_count() - Count the number of substring occurrences