PHP Handbuch
Zurück |  | Weiter

# strtok

(PHP 3, PHP 4, PHP 5)

strtok -- Zerlegt einen String

## Beschreibung

string strtok ( string str, string token )

strtok() zerlegt einen String (`str`) in kürzere Strings (Tokens), wobei jeder Token von im Parameter `token` festgelegten Zeichen begrenzt wird. Das bedeutet, dass, wenn Sie einen String wie "Dies ist ein Beispiel-String" haben, Sie ihn in seine einzelnen Worte zerlegen können, wenn Sie das Leerzeichen als Token verwenden.

Beispiel 1. strtok() Beispiel
`<?php $string = "Dies ist\tein Beispiel-\nString"; /* Sowohl das Tabulator- als auch das Newline-Zeichen werden zusätzlich zum Leerzeichen als Token zum Zerlegen verwendet */ $tok = strtok($string, " \n\t"); while ($tok !== false) { echo "Wort=$tok<br />"; $tok = strtok(" \n\t"); } ?>`

Beachten Sie, dass nur der erste Aufruf von strtok das String-Argument verwendet. Jeder Folgeaufruf von strtok benötigt nur die zu beachtenden Token, um die für den aktuellen String notwendigen herauszufinden. Um neu zu beginnen oder einen neuen String zu zerlegen, müssen Sie nur erneut strtok mit dem string-Parameter aufrufen, damit die Funktion neu initialisiert wird. Beachten Sie, dass Sie mehrere Tokens im Token-Parameter angeben können. Der String wird dann an jeder Stelle zerlegt, an der eines der angegebenen Zeichen gefunden wird.

Das Verhalten der Funktion beim Auffinden eines leeren Teils veränderte sich mit PHP Version 4.1.0. Zuvor wurde ein leerer String zurückgegeben, wohingegen das neue, korrekte Verhalten diesen Teil des Strings verwirft.

Beispiel 2. Altes Verhalten von strtok()
`<?php $erster_token = strtok('/irgendetwas', '/'); $zweiter_token = strtok('/'); var_dump($erster_token, $zweiter_token); ?>`
Ausgabe:
    string(0) ""
        string(11) "irgendetwas"

Beispiel 3. Neues Verhalten von strtok()
`<?php $erster_token = strtok('/irgendetwas', '/'); $zweiter_token = strtok('/'); var_dump($erster_token, $zweiter_token); ?>`
Ausgabe:
    string(11) "irgendetwas"
        bool(false)

Warnung
Diese Funktion kann sowohl das Boolsche `FALSE` zurückliefern, als auch einen nicht-Boolschen Wert, wie zum Beispiel`0` oder "". der von einem einfachen if-Statement als `FALSE` ausgewertet wird. Weitere Informationen entnehmen Sie bitte dem Abschnitt über die Boolsche Typen. Benutzen Sie deshalb den === Operator um den Rückgabewert dieser Funktion zu überprüfen.

Siehe auch split() und explode().

Zurück | Zum Anfang | Weiter
strstr | Nach oben | strtolower