Heim >Backend-Entwicklung >PHP-Problem >Ist PHP eine stark typisierte Sprache?
PHP ist eine schwach typisierte Sprache
Wir beachten, dass es nicht notwendig ist, den Datentyp der Variablen in PHP zu deklarieren.
PHP konvertiert die Variable basierend auf ihrem Wert automatisch in den richtigen Datentyp. In einer stark typisierten Programmiersprache müssen wir den Typ und den Namen der Variablen deklarieren (definieren), bevor wir sie verwenden.
1. Definieren Sie zunächst einige grundlegende Konzepte
Programmfehler
abgefangene Fehler. Bewirkt, dass das Programm die Ausführung beendet, z. B. Division durch 0, Array außerhalb der Grenzen, Zugriff auf nicht abgefangene Fehler in Java. Die Ausführung wird nach einem Fehler fortgesetzt, es kann jedoch zu willkürlichem Verhalten kommen. Zum Beispiel Pufferüberlauf in C, Sprung zu falscher Adresse
Verbotene Verhaltensweisen
Beim Entwerfen einer Sprache können Sie eine Reihe verbotener Verhaltensweisen definieren. Diese müssen alle enthalten nicht abgefangene Fehler, aber es kann abgefangene Fehler enthalten.
Gut benommen, schlecht benommen
gut benommen: Wenn während der Programmausführung verbotene Verhaltensweisen nicht möglich sind, handelt es sich um gutes Benehmen .
schlecht benommen: Ansonsten ist es schlecht benommen...
2. Lassen Sie uns mit den oben genannten Konzepten starke und schwache Typen, statische und dynamische Typen diskutieren
Starke und schwache Typen
Stark typisiert: Wenn sich alle Programme in einer Sprache gut verhalten – das heißt, verbotene Verhaltensweisen sind unmöglich, dann ist die Sprache ist stark typisiert.
Schwach getippt: Ansonsten ist es schwach getippt. Beispielsweise gehört der Pufferüberlauf in der C-Sprache zu abgefangenen Fehlern, also zu verbotenen Verhaltensweisen. Wie bereits erwähnt, haben schwach typisierte Sprachen eine weniger strenge Typprüfung, z. B. die Bevorzugung impliziter Typen Konvertierungen. Beispielsweise kann int in der C-Sprache in double umgewandelt werden. Das Ergebnis ist: Es ist leicht, verbotene Verhaltensweisen zu erzeugen, daher handelt es sich um einen schwach typisierten
dynamischen und statischen Typ
statischen statischen Typ: Wenn fehlerhafte Programme zur Kompilierungszeit abgelehnt werden, werden sie statisch typisiert.
Dynamisch typisiert.: Wenn fehlerhafte Programme zur Laufzeit abgelehnt werden, werden sie dynamisch typisiert.
3. Missverständnis
Jeder denkt, dass die C-Sprache int a, int b und dergleichen schreiben muss, aber Python muss nicht schreiben (Sie können a, b direkt schreiben). ), also ist C statisch. Dieses Verständnis ist nicht genau genug. Ocaml ist beispielsweise statisch typisiert, muss aber nicht explizit geschrieben werden. Ocaml ist ein statischer impliziter Typ
Statische Typen können in zwei Typen unterteilt werden:
Wenn der Typ Teil der Sprachsyntax ist, handelt es sich um einen explizit typisierten expliziten Typ Typ wird durch Derivation kompiliert und ist implizit typisiert, wie ML und Haskell
4 Hier sind einige Beispiele
untypisiert: Assembly
Schwacher Typ, statischer Typ: C/C++
Schwache Typisierung, dynamische Typprüfung: Perl/PHP
Starke Typisierung, statische Typprüfung: Java/C#
Starke Typisierung, dynamische Typprüfung: Python, Scheme
Statische explizite Typisierung: Java/C
Statisch implizite Typen: Ocaml, Haskell
Der obige Inhalt dient nur als Referenz!
Empfohlenes Tutorial: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonIst PHP eine stark typisierte Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!