Heim > Artikel > Backend-Entwicklung > Eine effizientere Möglichkeit, die Länge eines PHP-Strings zu bestimmen
Wenn wir in PHP die Länge eines Strings bestimmen müssen, denken wir zuerst an die Funktion strlen()Ja, strlen() gibt zurück Es ist die Länge der Zeichenfolge, daher ist die Verwendung auf diese Weise kein Problem. Aus Sicht der PHP-Programmoptimierung ist die Verwendung von strlen() zur Bestimmung der Länge einer Zeichenfolge jedoch wahrscheinlich die beste Möglichkeit, sie zu schreiben.
Erfahrene Programmierer haben herausgefunden, dass PHP die Länge einer Zeichenfolge bestimmt isset() Es ist schneller als strlen() und weist eine höhere Ausführungseffizienz auf.
Das heißt:
$str = ‘aaaaaa'; if(strlen($str) > 6) VS if(!isset($str{6})
Nach einem einfachen Test mit einem Beispiel ist die Situation Im Grunde stimmt es, und die Effizienz von isset() ist fast dreimal so hoch wie die von strlen().
Beispiel:
<?php //使用strlen方式 $arr = "123456"; $sTime = microtime (1); if(strlen($arr) > 6){ // echo 1; } echo microtime(1) - $sTime;
Ausgabe: 0,00035595893859863
<?php //使用isset($arr{})方式 $arr = "123456"; $sTime = microtime(1); if(!isset($arr{6})){ // echo "1\r\n"; } echo microtime(1) - $sTime;
Ausgabe: 0,00019097328186035
Warum isset() schneller ist als strlen()
strlen() Die Funktion wird recht schnell ausgeführt, da sie keine Berechnungen durchführt und lediglich die bekannte Zeichenfolgenlänge zurückgibt, die in der zval-Struktur (der in C integrierten Datenstruktur zum Speichern von PHP-Variablen) gespeichert ist. Da strlen () jedoch eine Funktion ist, ist es etwas langsam, da der Funktionsaufruf viele Schritte durchläuft, z. B. Kleinbuchstaben (Anmerkung: Bezieht sich auf den Funktionsnamen in Kleinbuchstaben. PHP unterscheidet nicht zwischen Funktionsnamen in Groß- und Kleinbuchstaben ), Hash-Suche, Wird zusammen mit der aufgerufenen Funktion ausgeführt. In einigen Fällen kann die Verwendung des isset()-Tricks die Ausführung Ihres Codes beschleunigen. Da isset() ein Sprachkonstrukt ist, bedeutet dies, dass für seine Ausführung keine Funktionssuche und keine Kleinschreibung von Buchstaben erforderlich sind. Das heißt, Sie verbringen tatsächlich nicht viel Aufwand damit, die Stringlänge im Code der obersten Ebene zu überprüfen.
Der Aufruf von isset() ist also schneller als strlen().
Das obige ist der detaillierte Inhalt vonEine effizientere Möglichkeit, die Länge eines PHP-Strings zu bestimmen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!