Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Leistungsoptimierung: isset() ist schneller als strlen()

PHP-Leistungsoptimierung: isset() ist schneller als strlen()

小云云
小云云Original
2017-11-25 09:02:022280Durchsuche

Viele Programmierer verwenden gerne die Funktionen strlen() und mb_strlen(), wenn sie die Länge von Zeichenfolgen beurteilen. Obwohl sie die Länge von Zeichenfolgen professionell getestet haben, wissen sie nicht, dass die Funktionen strlen() und mb_strlen() nicht die beliebtesten sind . Gut. Wenn PHP die Länge einer Zeichenfolge bestimmt, ist die Verwendung von isset() tatsächlich schneller als strlen() und weist eine höhere Ausführungseffizienz auf. Um die Länge einer Zeichenfolge in PHP zu bestimmen, ist die Verwendung von isset() schneller als strlen() und weist eine höhere Ausführungseffizienz auf.

Warum ist isset() schneller als strlen()?

Die Funktion strlen() 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 es sich bei strlen () jedoch um eine Funktion handelt, ist es etwas langsam, da der Funktionsaufruf viele Schritte durchläuft, z. B. Kleinbuchstaben und Hash-Suche, und zusammen mit der aufgerufenen Funktion ausgeführt wird. Daher kann die sinnvolle Verwendung von isset() in einigen Fällen Ihr Programm beschleunigen. Da isset() ein Sprachkonstrukt ist, erfordert seine Ausführung keine Funktionssuche und keine Kleinschreibung von Buchstaben usw.

Spezifische Beispiele für die Bestimmung der Länge einer Zeichenfolge durch isset() und strlen() sind wie folgt:

 $str='http://www.phpernote.com/php-template/436.html';    
 if(strlen($str)<5){echo "未满5";}    
if(!isset($str{5})){echo "未满5";}

Lassen Sie uns die beiden Funktionen strlen() und isset() im Detail analysieren .

PHP-Funktion strlen()

Definition und Verwendung

Funktion strlen() gibt die Länge einer Zeichenfolge zurück.

Syntax: strlen(string)

Parameter: string
Beschreibung: Erforderlich. Gibt die zu überprüfende Zeichenfolge an.

Strlen()-Funktionsinstanz

<?php    
 echo strlen("Hello world!");    
?>

Das Ergebnis wird ausgegeben:

12

PHP isset()-Funktion

isset-Funktion Es dient dazu, zu überprüfen, ob die Variable gesetzt ist.

Syntax: bool isset ( Mixed var [, Mixed var [, ...]] )

Rückgabewert:

Wenn die Variable nicht existiert, geben Sie FALSE Wenn die Variable existiert und ihr Wert NULL ist, wird auch FALSE zurückgegeben.
Wenn die Variable existiert und ihr Wert nicht NULL ist, wird TRUE zurückgegeben.
Wenn mehrere Variablen gleichzeitig überprüft werden, wird TRUE zurückgegeben wird nur zurückgegeben, wenn jedes einzelne Element die vorherige Anforderung erfüllt. Andernfalls ist das Ergebnis FALSE
Wenn eine Variable mit unset() freigegeben wurde, ist sie nicht mehr isset(). Wenn Sie isset() verwenden, um eine Variable zu testen, die auf NULL gesetzt ist, wird FALSE zurückgegeben. Beachten Sie außerdem, dass ein NULL-Byte („“) nicht der NULL-Konstante von PHP entspricht.

Warnung: isset() kann nur mit Variablen verwendet werden, da die Übergabe anderer Parameter einen Parsing-Fehler verursacht. Wenn Sie überprüfen möchten, ob eine Konstante gesetzt wurde, verwenden Sie die Funktion define().

Das Obige ist der Grund, warum isset() schneller ist als strlen(). Sie können es üben.

Verwandte Empfehlungen:

Detaillierte Erklärung zur Verwendung der Funktionen isset() und unset() in PHP

php gibt die Länge zurück der String-Funktion strlen()

PHP ruft die String-Längenfunktion strlen() Funktion ab

Das obige ist der detaillierte Inhalt vonPHP-Leistungsoptimierung: isset() ist schneller als strlen(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn