Was ist die Verwendung der Funktion strtok() in PHP, wie ist es besser als andere String-Funktion das gleiche zu tun?Was ist die Verwendung der Funktion strtok() in PHP, wie ist es besser als andere String-Funktion das gleiche zu tun?
Antwort
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.
$addr=strtok($_SERVER['REQUEST_URI'],'?');
aber nennen Sie es nicht "besser". Es ist nur eine andere Möglichkeit, es zu tun.
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.
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 zustrtok()
. (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)
- 1. Verwendung der STRTOK-Funktion
- 2. was ist besser php, JSP oder andere
- 3. Für die arabische Sprache Übersetzung, die besser Weg ist, es zu tun und zu tun
- 4. Ist es besser, das Datenbankschema zu ändern?
- 5. Zwei MySQL-Abfragen, gleiche Ergebnisse: Ist eins besser als das andere?
- 6. Welcher ist besser als der andere? Ui-Sref oder href?
- 7. PHP - beenden oder zurück, was ist besser?
- 8. Was ist die gleiche Funktion von FOUND_ROWS() in Firebird?
- 9. Was ist die "::" äquivalente Funktion in Haskell?
- 10. Was ist besser, zuerst zu tun, die Schnittstelle zu entwerfen oder Code zu schreiben?
- 11. Was ist das "===!" Betreiber tun?
- 12. Serienschlüssel: Was ist zu tun?
- 13. Was bedeutet "Komplex ist besser als kompliziert"?
- 14. Warum ist `[` besser als `Teilmenge`?
- 15. Was ist die Verwendung von Flash Lite, ist das gleiche wie Flash Action Script
- 16. jQuery: was ist es "verboten" zu tun in plain Javascript
- 17. Was Lisp ist besser zu analysieren?
- 18. GLScissors: Was ist schneller/besser?
- 19. Ist LinqToSQL das gleiche wie Linq?
- 20. Warum ist es besser, zu sperren (objLock) als Sperre (this)
- 21. Ist es besser, Sitzungsattribute als Instanzfelder in Servlets zu verwenden?
- 22. Was ist die korrekte Verwendung der CSS attr Funktion?
- 23. PHP <? = Vs <? Php echo Was ist der Unterschied? Welcher ist besser zu benutzen?
- 24. Was ist die Alternative der Eval-Funktion?
- 25. Wann ist `new Error()` besser als `Error()`?
- 26. Was ist Bedeutung/Verwendung von tun void (param); zu Beginn der Funktion?
- 27. Was ist mit der RenderMode-Eigenschaft des ToolStrip zu tun?
- 28. Tun die QT DEFINES das Gleiche wie #define in C++?
- 29. Welche Javascript Funktion ist besser?
- 30. Was ist das Äquivalent dieser Cipher.encrypt() Funktion in PHP
können Sie auch sehen, dass https://stackoverflow.com/a/24280162/4217744 – simhumileco