Heim  >  Artikel  >  Backend-Entwicklung  >  Ist PHP eine statische oder dynamische Sprache?

Ist PHP eine statische oder dynamische Sprache?

青灯夜游
青灯夜游Original
2022-04-27 12:01:033772Durchsuche

php ist eine dynamische Sprache. PHP ist eine dynamische, schwach typisierte Skriptsprache. Sie bestimmt den Datentyp zur Laufzeit und es ist nicht erforderlich, ihn vor der Verwendung der Variablen zu deklarieren. Die Variable wird automatisch erstellt, wenn ihr zum ersten Mal ein Wert zugewiesen wird. Der Datentyp in PHP kann ignoriert werden, wenn einer Variablen ein Wert zugewiesen wird. Es ist nicht erforderlich, den Typ der Variablen zu berücksichtigen, nachdem ihr ein bestimmter Wert zugewiesen wurde.

Ist PHP eine statische oder dynamische Sprache?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

php ist eine dynamische Sprache.

php ist eine dynamisch typisierte und schwach typisierte Skriptsprache. Es ist nicht erforderlich, Variablen vor ihrer Verwendung zu deklarieren. Die Variablen werden automatisch erstellt, wenn sie zum ersten Mal zugewiesen werden und einer Variablen einen Wert zuweisen Es besteht keine Notwendigkeit, ihren Typ zu berücksichtigen, bis ihr ein bestimmter Wert zugewiesen wird.

<?php
$a = 1;
$b = "2";
$c = [1,3,4];
var_dump($a);
var_dump($b);
var_dump($c);
?>

Ist PHP eine statische oder dynamische Sprache?

Daher erfolgt bei der Durchführung von Variablenberechnungen eine automatische Typkonvertierung.

In PHP erfolgt die automatische Typkonvertierung normalerweise, wenn Variablen unterschiedlichen Typs für die Operation gemischt werden. Wenn die an der Operation beteiligten Variablentypen unterschiedliche Typen haben, müssen sie zuerst in denselben Typ konvertiert werden, und dann wird die Operation ausgeführt .

Normalerweise werden bei Operationen nur die vier Skalartypen (Ganzzahl, Gleitkommazahl, Zeichenfolge, Boolescher Wert) und NULL automatisch konvertiert. Beachten Sie, dass die automatische Typkonvertierung nicht den Typ der Variablen selbst ändert, sondern nur die Art und Weise, wie diese Variablen ausgewertet werden.

Obwohl die automatische Typkonvertierung vom System automatisch abgeschlossen wird, muss die automatische Typkonvertierung bei gemischten Vorgängen auch der Richtung zunehmender Datenlänge folgen, um sicherzustellen, dass die Genauigkeit nicht beeinträchtigt wird. Die Regeln sind unten aufgeführt.

Ist PHP eine statische oder dynamische Sprache?

  • Wenn an der Operation ein boolescher Wert beteiligt ist, wird TRUE in einen Ganzzahltyp 1 und FALSE in einen Ganzzahltyp 0 konvertiert und nimmt dann an der Operation teil.

  • Wenn ein NULL-Wert an der Operation beteiligt ist, wird der NULL-Wert vor der Ausführung der Operation in einen Ganzzahltyp 0 konvertiert.

  • Wenn an der Operation Werte vom Typ Integer und Float beteiligt sind, wird der Wert vom Typ Integer zuerst in den Typ Float konvertiert und dann wird die Operation ausgeführt.

  • Wenn an der Operation Zeichenfolgen- und numerische Werte (Ganzzahl, Gleitkommazahl) beteiligt sind, wird der Zeichenfolgentyp zuerst in eine Zahl konvertiert und nimmt dann an der Operation teil. Die konvertierte Zahl ist eine numerische Zeichenfolge, die mit der Zeichenfolge beginnt. Wenn die numerische Zeichenfolge, die mit der Zeichenfolge beginnt, keinen Dezimalpunkt hat, wird sie in einen ganzzahligen Wert konvertiert. Wenn ein Dezimalpunkt vorhanden ist, wird dieser in einen Gleitkommawert umgewandelt. Beispiel: Die Zeichenfolge „123ab“ wird in die Ganzzahl 123 umgewandelt, die Zeichenfolge „123.45ab“ wird in die Gleitkommazahl 123.45 umgewandelt und die Zeichenfolge „ abc“ wird in die Ganzzahl 0 umgewandelt.

【Beispiel】Das Folgende ist ein einfaches Beispiel, um die automatische Typkonvertierung in PHP zu demonstrieren.

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;100abc&#39;;
$str += 5;
echo &#39;此时 $str 的类型为:&#39;.gettype($str).&#39;, 值为:&#39;.$str.&#39;<br>&#39;;
$str += 3.14;
echo &#39;此时 $str 的类型为:&#39;.gettype($str).&#39;, 值为:&#39;.$str.&#39;<br>&#39;;
$str = null + &#39;C语言中文网&#39;;
echo &#39;此时 $str 的类型为:&#39;.gettype($str).&#39;, 值为:&#39;.$str.&#39;<br>&#39;;
?>

Ist PHP eine statische oder dynamische Sprache?

Erweitertes Wissen: Einführung und Unterschiede zwischen dynamischen Sprachen und statischen Sprachen

Dynamische Sprachen (schwach typisierte Sprachen) sind Sprachen, die den Datentyp zur Laufzeit bestimmen müssen Deklarieren Sie ihre Typen vor der Verwendung. Normalerweise ist der Wert der Typ des zugewiesenen Werts. Wie PHP, Asp, JavaScript, Python, Perl usw.

$a = 1;
$b = "2";
$c = [1,3,4];

Statische Sprache (stark typisierte Sprache) ist eine Sprache, in der der Datentyp von Variablen zur Kompilierungszeit bestimmt werden kann. Die meisten statischen Sprachen erfordern, dass der Datentyp bekannt ist, bevor Variablen verwendet werden können. Wie Java, C, C++, C# usw.

String s="hello";    //String 类型的变量
boolean b=true;    //boolean 类型的变量
int i=0;    //int 类型的变量

Eine schwach typisierte Sprache ist eine Sprache, in der Datentypen ignoriert werden können. Es ist das Gegenteil einer stark typisierten Sprache, bei der einer Variablen Werte unterschiedlicher Datentypen zugewiesen werden können. Der Typ einer Variablen wird durch ihren Kontext bestimmt, was effizienter ist.

Eine stark typisierte Sprache ist eine Sprache, die den Datentyp zwangsweise bestimmen muss. Sobald einer Variablen ein bestimmter Datentyp zugewiesen wird, wird sie immer dieser Datentyp sein, wenn sie nicht zur Konvertierung gezwungen wird. Der Typ einer Variablen wird bei der Deklaration bestimmt, was sicherer ist.

Unterschied:

  • Aufgrund der obligatorischen Deklaration von Datentypen ermöglicht die statische Sprache dem Entwicklungstool (IDE), eine starke Fähigkeit zur Beurteilung des Codes zu haben. Dies ist nützlich bei der Implementierung komplexer Geschäftslogik und der Entwicklung umfangreicher kommerzieller Anwendungen Sowohl bei Systemen als auch bei solchen mit langen Deklarationszyklen können sich Entwickler auf leistungsstarke IDEs verlassen, um effizienter und sicherer zu entwickeln.

  • Dynamisches Sprachdenken ist nicht eingeschränkt und kann nach Belieben verwendet werden. Der Schwerpunkt liegt mehr auf dem Produkt selbst. Der Fokus liegt auf dem Nachdenken über die Implementierung der Geschäftslogik, und der Denkprozess ist der Implementierungsprozess.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonIst PHP eine statische oder dynamische Sprache?. 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