Ich glaube, dass man in einigen PHP-Anwendungen oft Vergleiche sieht, die besagen, dass isset() verwendet wird, um strlen() zu ersetzen, und isset schneller ausgeführt wird als strlen.
Beispiel:
if ( isset($username[5]) ) {
// Der Benutzername ist mindestens sechs Zeichen lang.
}
Der Grund dafür ist, dass isset eine Sprachstruktur und strlen eine Funktion ist. Was sind also Sprachstrukturen? Unterscheidet es sich von einer Funktion?
1. Was sind Sprachstrukturen und -funktionen
Sprachstruktur: Es ist das Schlüsselwort der PHP-Sprache und Teil der Sprachgrammatik Kann nicht vom Benutzer definiert oder zu einer Spracherweiterung oder Bibliothek hinzugefügt werden. Es kann möglicherweise keine Variablen und Rückgabewerte haben.
Funktion: Es besteht aus Codeblöcken und kann wiederverwendet werden.
2. Warum sind Sprachstrukturen schneller als Funktionen
Der Grund dafür ist, dass Funktionen in PHP zunächst vom PHP-Parser zerlegt werden müssen Es ist ersichtlich, dass Funktionen eine Parser-Analyseebene mehr haben als Sprachstrukturen. Auf diese Weise können wir besser verstehen
welche Sprachstrukturen schneller sind als Funktionen.
3. Der Unterschied zwischen Sprachstrukturen und Funktionen
Sprachstrukturen sind schneller als entsprechende Funktionen
Sprachstrukturen sind falsch Da es sich um ein Sprachschlüsselwort handelt, gibt es keinen erneuten Verarbeitungsschritt.
Die Sprachstruktur kann im Konfigurationselement (php.ini) nicht deaktiviert werden, Funktionen jedoch schon.
Sprachstrukturen können nicht als Callback-Funktionen verwendet werden
4. Liste der Sprachstrukturen
echo()
Print (), ja, das ist eine SprachstrukturDIE ()
isset (): Wird nur für Variablen verwendet
unset ()
--''s' empty( ): Wird nur für Variablen
verwendet. In den folgenden Fällen gibt isset() TRUE zurück:$var = " ";
$var = array();
Bisher: Es wird nur Null zugewiesen. Oder es wird nicht bestanden, wenn kein Wert zugewiesen wird. Es wird empfohlen, leer zu verwenden.