Heim >Backend-Entwicklung >PHP-Tutorial >Warum soll PHP schwach typisiert und leicht zu erlernen sein? Wie unterscheidet es sich von anderen Sprachen?

Warum soll PHP schwach typisiert und leicht zu erlernen sein? Wie unterscheidet es sich von anderen Sprachen?

怪我咯
怪我咯Original
2017-06-16 13:43:171495Durchsuche

Ich möchte sagen: „Die Leistungsfähigkeit von PHP ist offensichtlich.“ Es wird hier Leute geben, die sagen, dass diese Sprache die mächtigste ist und welche Sprache die beste ist. Der Herausgeber erklärt, dass diese Kolumne nicht vergleichbar ist Welche Sprache ist besser oder schlechter? In dieser Kolumne konzentriere ich mich nur auf die Natur der PHP-Sprache und teile meine Erfahrungen mit Freunden, die wie ich PHP lernen. Der Redakteur ist kein PHP-Experte, ich bin nur ein treuer PHP-Fan. Wenn Sie interessiert sind, können Sie mit mir über PHP sprechen und gemeinsam einige Ihrer Erfahrungen teilen.

Gestern hat mir jemand geantwortet und mich gefragt, was schwaches Tippen ist, aber ich habe es nicht erklärt. Heute werde ich in diesem Artikel erklären, was schwaches Tippen ist und welche Vor- und Nachteile es hat schwaches Tippen. Der Herausgeber hält PHP für sehr leistungsfähig, weil PHP Entwicklern viele einzigartige Funktionen zur Verfügung stellt, darunter den PHP-Mechanismus für schwache Typen.

Schauen wir uns zunächst ein Beispiel an: Schwache Typen können die folgenden Operationen ausführen:

Beispiel 1:

<?Php
$iruohong = 1; //整数型
$iruohong = array(); //数组型
$iruohong = “iruohong.com”; //字符串型
?>

Freunde, die etwas Programmiererfahrung haben, können diesen Code verwenden Verstehen Das Konzept der schwachen Typisierung ist eine der Manifestationen des schwachen Typisierungsmechanismus von PHP. Die Entwickler des PHP-Kernels möchten die Entwicklungseffizienz der Entwickler durch dieses System verbessern, das keine Deklarationen erfordert.

Dieser Mechanismus wird jedoch einige Probleme mit sich bringen. Beispielsweise werden einige der folgenden Vergleiche einige Probleme mit sich bringen, wenn die Entwickler nicht darauf achten.

Beispiel 2:

<?Php
$a = null; $b = false;
If($a == $b){
echo “a和b相等!”;
}else{
echo “a和b不相等!”;
}
?>
<?Php
$a = &#39;&#39;; $b = 0; //同样为真
If($a == $b){
echo “a和b相等!”;
}else{
echo “a和b不相等!”;
}
?>

Testen Sie es und Sie werden feststellen, dass beide Codeteile a und b gleich ausgeben! , Anfängerfreunde werden sehr überrascht sein, wie können sie gleich sein? Auch hier hat der Editor Einbußen erlitten. Der Grund dafür ist, dass PHP beim Vergleich den Typ der eingehenden Variablen nicht streng prüft und die Variablen nicht frei konvertiert. Denn unabhängig davon, ob die Variable 0, null oder falsch ist, ist PHP beim Vergleich standardmäßig leer. Wenn die Variable ein ganzzahliger Wert ist, ist sie 0, also gleich. Wenn Sie mehrere unterschiedliche Werte vergleichen müssen, verwenden Sie „===". Drei Gleichheitszeichen stehen für vollständige Gleichheit, einschließlich Gleichheit von Typ und Wert. Dies sind einige Fehler, die Neulinge machen.

Nachdem wir so viel über schwache Typen gesagt haben, vergleichen wir nun die Unterschiede zwischen starken und schwachen Typen.

(1) Unabhängig davon, ob es sich um einen starken Typ oder einen schwachen Typ handelt, haben Variablen zwei Attribute: Typ und Wert; das heißt, schwach typisierte Variablen haben auch Typen.

Egal um welche Programmiersprache es sich handelt, die darin verwendeten Variablen haben sowohl Typen als auch Werte. Stark typisierte Variablentypen müssen im Quellcode klar definiert sein, sogenannte „Variablendeklarationen“, während schwach typisierte Variablentypen nicht deklariert werden müssen und vom Interpreter interpretiert werden. Dies bedeutet jedoch nicht, dass schwach typisierte Variablen nicht über das Typkonzept verfügen. Beispielsweise gibt gettype von PHP den „aktuellen“ Typ der Variablen zurück.

(2) Missverständnis: [Manche Leute denken, dass der Typ stark typisierter Variablen nicht geändert werden kann, während schwach typisierte Variablen nach Bedarf geändert werden können. Sobald eine stark typisierte Variable deklariert ist, kann sie nur Werte speichern Bei diesem Typ müssen andere Werte konvertiert werden, bevor sie der Variablen zugewiesen werden können. Es gibt Konvertierungen, die vom Compiler automatisch verstanden werden, und es gibt auch erzwungene Konvertierungen, die vom Programmierer explizit angegeben werden. Schwach typisierte Variablentypen werden bei Bedarf ständig konvertiert. 】Was in den schwarzen Klammern steht, ist ein Missverständnis. Viele Menschen haben dieses Missverständnis. Tatsächlich können weder der vortypisierte Variablentyp noch der schwach typisierte Variablentyp geändert werden. Das folgende Beispiel erklärt alles. Wenn Sie $b einen Wert zuweisen, ändert sich der Wert von $a, aber der Typ von $a ändert sich nicht. Bitte testen Sie das folgende Beispiel selbst

Beispiel 3:

<?php
$a = 25;
echo $a.&#39;|&#39;.gettype($a).&#39;<br>&#39;;
$b = $a.&#39;good&#39;;
echo $b.&#39;|&#39;.gettype($b).&#39;<br>&#39;;
echo $a.&#39;|&#39;.gettype($a).&#39;<br>&#39;;
?>

Das Ausgabeergebnis ist:

25|integer25good|string25|integer

(3) Die erzwungene Konvertierung in einer stark typisierten Sprache ändert den Variablentyp nicht.

Eine stark typisierte Sprache verfügt über eine „erzwungene Konvertierung“. ", wodurch sich der Typ des Variablenwerts ändert, sodass eine Zuweisung ohne Änderung des Variablentyps möglich ist. Der Typ der Variablen darf sich nicht ändern.

Das obige ist der detaillierte Inhalt vonWarum soll PHP schwach typisiert und leicht zu erlernen sein? Wie unterscheidet es sich von anderen Sprachen?. 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