Was ist der Unterschied zwischen $a == 2 und 2 == $a bei der Beurteilung beim Schreiben eines Programms?
Was ist der Unterschied zwischen $a == 2 und 2 == $a bei der Beurteilung beim Schreiben eines Programms?
Bei Sprachen, die Werte in bedingten Operatoren zuweisen können, können durch das Platzieren von Konstanten vor Vergleichsoperatoren Probleme vermieden werden, die durch fehlende Gleichheitszeichen verursacht werden.
Mit anderen Worten, dies kann das Problem des Schreibens $a == 2
als $a = 2
vermeiden, das durch verschiedene Fehler verursacht wird.
Diese Technik ist in PHP nicht sehr nützlich, aber in Java Web nützlicher. Beispielsweise um festzustellen, ob ein bestimmter vom Benutzer übermittelter Parameter mit der Zeichenfolge „abc“ übereinstimmt.
Verwenden Sie "abc".equals(a)
ist besser als a.equals("abc")
Gut, da a leer sein kann, letzteres einen Fehler meldet und ersteres das richtige Ergebnis liefert.
2==$a Ich habe diese Schreibweise noch nie gesehen. Könnten Sie mich bitte aufklären?
Es hat keine große Wirkung.
Der Hauptzweck besteht darin, zu verhindern, dass bei der Beurteilung ein Gleichheitszeichen übersehen wird.
Annehmen $a=1;
2==$a;//Kann ausgeführt werden, der Wert ist falsch
2=$a;//Speichern
$a==2;// Kann ausgeführt werden, der Wert ist falsch
$a=2;//Kann ausgeführt werden, der Wert ist wahr, da es sich um eine Zuweisungsanweisung handelt
$a == 2 Wenn ein Gleichheitszeichen weniger vorhanden ist, handelt es sich um eine Zuweisungsoperation, und der Compiler gibt keinen Fehler aus.
2 == $a Wenn ein Gleichheitszeichen weniger vorhanden ist, gibt der Compiler eine Fehlermeldung aus ein Fehler
Vorausgesetzt, er wird darin platziert if Bei Vergleichsoperationen
Es gibt keinen Unterschied
Allerdings ist $a == 2 sprachlich akzeptabler