Tokenize string

strstr
strtolower
String Functions
PHP Manual

# strtok

(PHP 4, PHP 5)

strtok — Tokenize string

### Description

string strtok ( string `$str` , string `$token` )
string strtok ( string `$token` )

strtok() splits a string (`str`) into smaller strings (tokens), with each token being delimited by any character from `token`. That is, if you have a string like "This is an example string" you could tokenize this string into its individual words by using the space character as the token.

Note that only the first call to strtok uses the string argument. Every subsequent call to strtok only needs the token to use, as it keeps track of where it is in the current string. To start over, or to tokenize a new string you simply call strtok with the string argument again to initialize it. Note that you may put multiple tokens in the token parameter. The string will be tokenized when any one of the characters in the argument are found.

### Parameters

`str`

  The string being split up into smaller strings (tokens).

`token`

  The delimiter used when splitting up `str`.

### Return Values

A string token.

### Examples

Example #1 strtok() example

`<?php
$string = "This is\tan example\nstring";
/* Use tab and newline as tokenizing characters as well */
$tok = strtok($string, " \n\t");
while ($tok !== false) {
echo "Word=$tok<br />";
$tok = strtok(" \n\t");
}
?>`

The behavior when an empty part was found changed with PHP 4.1.0. The old behavior returned an empty string, while the new, correct, behavior simply skips the part of the string:

Example #2 Old strtok() behavior

`<?php
$first_token = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>`

The above example will output:

        string(0) ""
        string(9) "something"

Example #3 New strtok() behavior

`<?php
$first_token = strtok('/something', '/');
$second_token = strtok('/');
var_dump($first_token, $second_token);
?>`

The above example will output:

        string(9) "something"
        bool(false)

### Notes

Warning

This function may return Boolean `FALSE`, but may also return a non-Boolean value which evaluates to `FALSE`, such as 0 or "". Please read the section on Booleans for more information. Use the === operator for testing the return value of this function.

### See Also

- split() - Split string into array by regular expression
- explode() - Split a string by string

strstr
strtolower
String Functions
PHP Manual