2010-03-27 2 views

Antwort

32

Es gibt keine andere Zeichenkettenfunktion, die das selbe Ding tut. Funktionen wie explode geben die vollständige Split-Zeichenfolge in einem Array zurück. strtok andererseits gibt nur Stück für Stück zurück, wobei jeder nachfolgende Aufruf das nächste Stück zurückgibt. Dies ist potentiell viel wirtschaftlicher und speichererhaltender für große Strings.

6
$addr=strtok($_SERVER['REQUEST_URI'],'?'); 

aber nennen Sie es nicht "besser". Es ist nur eine andere Möglichkeit, es zu tun.

7

strtok wird gegenüber anderen Funktionen bevorzugt, wenn Sie eine Zeichenfolge auf mehr als einem Trennzeichen teilen müssen.

Die andere Funktion, die wie preg_split, split sind Regex-basierte und wird mit ihnen verbundenen Aufwand haben.

0

strtok() ist eine große und sehr nützliche Funktion, aber:

  • Diese Funktion Boolean zurückgeben kann FALSE, kann aber auch einen nicht-Booleschen Wert zurückgeben, FALSE auswertet. (PHP Manual)

  • Wenn Sie nur tokenize wollen, indem sie einen Buchstaben, explode() schneller ist viel im Vergleich zu strtok(). (Source)

  • Wenn Sie Speichernutzung kritische Lösung hat, sollten Sie bedenken, dass strtok Funktion hält Eingang String-Parameter (oder Verweis auf das?) Im Speicher nach dem Gebrauch. (Source)

Verwandte Themen