Heim > Artikel > Backend-Entwicklung > Teilen Sie die Zeichenfolge mit der Funktion strtok() in PHP
In der PHP-Programmierung ist die String-Verarbeitung eine häufig verwendete Funktion. Eine der am häufigsten verwendeten Funktionen zur String-Manipulation ist strtok(). Die Funktion strtok() kann einen String durch Angabe des Trennzeichens in mehrere Teilstrings aufteilen. In diesem Artikel stellen wir die relevanten Kenntnisse und die Verwendung der Funktion strtok() vor.
1. Grundlegende Verwendung der Funktion strtok()
Die Funktion strtok() enthält zwei Parameter. Der erste Parameter ist die zu teilende Zeichenfolge und der zweite Parameter ist das angegebene Trennzeichen. Der Rückgabewert der Funktion ist der aktuell geteilte Teilstring.
Codebeispiel:
$str = "Hello, World! How are you today?"; $delimiter = " ,!"; $token = strtok($str, $delimiter); while ($token !== false) { echo "$token<br>"; $token = strtok($delimiter); }
Im obigen Beispiel verwenden wir die Funktion strtok(), um die Zeichenfolge $str in mehrere Teilzeichenfolgen aufzuteilen, wobei Kommas, Leerzeichen und Ausrufezeichen als Trennzeichen dienen. Das Ausführungsergebnis ist wie folgt:
Hello World How are you today?
Im obigen Code verwenden wir eine while-Schleife. Jede Schleife verwendet die Funktion strtok(), um einen Teilstring $token abzurufen und ihn dann auszugeben. Die Funktion gibt „false“ zurück, um anzuzeigen, dass keine weiteren Teilzeichenfolgen vorhanden sind.
2. Detaillierte Analyse der Funktion strtok()
Die vollständige Definition der Funktion strtok() lautet:
string strtok ( string $str, string $delimiter )
Darunter:
Rückgabewert der Funktion strtok():
Beim Aufruf der Funktion strtok() durchläuft PHP die Zeichenfolge $str von links nach rechts und schneidet sie entsprechend dem Trennzeichen $delimiter ab. Bei jedem Aufruf der Funktion wird ein Teilstring zurückgegeben und der interne Zeiger bewegt sich automatisch rückwärts, um auf den Anfang des nächsten Teilstrings zu zeigen. Dies bedeutet, dass bei jedem Aufruf der Funktion ein neuer Teilstring zurückgegeben wird.
Aber es ist zu beachten, dass Sie die Funktion strtok() wiederholt aufrufen müssen, um alle Trennzeichen zu erhalten, bis false zurückgegeben wird.
Codebeispiel:
$str = "this,is,a,comma,separated,string"; $delimiter = ","; $token = strtok($str, $delimiter); while ($token !== false) { echo "$token<br>"; $token = strtok($delimiter); }
Im obigen Beispiel verwenden wir die Funktion strtok(), um die Zeichenfolge $str in mehrere Teilzeichenfolgen aufzuteilen, wobei Kommas als Trennzeichen dienen. Das Ausführungsergebnis ist wie folgt:
this is a comma separated string
In diesem Beispiel setzen wir das Trennzeichen auf Komma. Wenn die Funktion strtok() zum ersten Mal aufgerufen wird, gibt sie den ersten Teilstring „this“ in dem String zurück, den wir teilen möchten. Dann rufen wir die Funktion strtok() wiederholt auf und geben jedes Mal einen neuen Teilstring zurück, bis false zurückgegeben wird.
3. Hinweise zur Funktion strtok()
Wenn wir die Funktion strtok() zum Teilen einer Zeichenfolge verwenden, ändert die Funktion die ursprüngliche Zeichenfolge. Wenn Sie die Originalzeichenfolge in nachfolgenden Programmen verwenden müssen, müssen Sie diese zunächst sichern.
Codebeispiel:
$str = "first,second,third"; $delimiter = ","; $original_str = $str; $token = strtok($str, $delimiter); while ($token !== false) { echo "$token<br>"; $token = strtok($delimiter); } echo $original_str;
Es ist zu beachten, dass der Parameter $delimiter nur ein Zeichen sein darf, andernfalls wird er als jedes Zeichen behandelt, das auf die Übergabe wartet.
Codebeispiel:
$str = "one,two,three"; $delimiter = ",e"; $token = strtok($str, $delimiter); while ($token !== false) { echo "$token<br>"; $token = strtok($delimiter); }
Der erwartete Effekt dieses Codes besteht darin, die Zeichenfolge durch Komma und den Buchstaben e zu trennen. Tatsächlich verwendet die Funktion jedoch nicht den Buchstaben e als Trennzeichen, sondern behandelt das Zeichen „e“ als warte Trennzeichen, das heißt, zwei benachbarte Zeichen müssen für den normalen Gebrauch Trennzeichen sein.
In der Funktion strtok() gibt der erste Parameter $str die zu teilende Zeichenfolge an und der zweite Parameter ist das angegebene Trennzeichen. Die Reihenfolge dieser beiden Parameter kann nicht umgekehrt werden. Wenn die Reihenfolge dieser beiden Parameter umgekehrt ist, wird ein Fehler gemeldet.
Codebeispiel:
$str = "one,two,three"; $delimiter = ","; // 错误方式 $token = strtok($delimiter, $str); while ($token !== false) { echo "$token<br>"; $token = strtok($delimiter); }
IV Zusammenfassung
In der PHP-Programmierung gibt es viele Szenarien, in denen String-Operationen verwendet werden. Die Funktion strtok() ist eine sehr praktische String-Aufteilungsfunktion, die einen String entsprechend dem angegebenen Trennzeichen in mehrere Teilstrings aufteilen kann.
Achten Sie bei Verwendung der Funktion strtok() auf die Art des Funktionsrückgabewerts, die Sicherung der Originalzeichenfolge, das Trennzeichen darf nur ein Zeichen sein und die Auswirkung der Reihenfolge der Parameter. Die ordnungsgemäße Verwendung der Funktion strtok() kann uns dabei helfen, Zeichenfolgen effizienter zu verarbeiten.
Das obige ist der detaillierte Inhalt vonTeilen Sie die Zeichenfolge mit der Funktion strtok() in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!