Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen PHP-Sprachkonstrukten und -Funktionen

Der Unterschied zwischen PHP-Sprachkonstrukten und -Funktionen

巴扎黑
巴扎黑Original
2016-11-23 13:28:431505Durchsuche

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 Sprachstruktur

DIE ()

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();

$var = 0;

$var = false ;


Bisher: Es wird nur Null zugewiesen. Oder es wird nicht bestanden, wenn kein Wert zugewiesen wird. Es wird empfohlen, leer zu verwenden.

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