Das ist eine Frage, die mich lange nervt und keine Antwort finden kann ... Bemerkenswert ist, dass es ziemlich oft von Zend Framework Developers verwendet wird,
Was ist der Unterschied zwischen zwei "if" -Anweisungen? :
%Vor%Für mich sieht der erste ziemlich seltsam aus;]
Danke für die Antwort.
Dies ist kein Unterschied für die Art, wie Ihr Skript funktioniert, es ist nur ein Kodierungsstandard, eine Empfehlung
Der Grund, warum es empfohlen wird, es so zu benutzen:
%Vor%ist die Tatsache, dass wenn Sie vertippen und schreiben = anstelle von == erhalten Sie einen Fehler, während
%Vor%statt
%Vor%funktioniert, verursacht aber seltsame Fehler (Zuweisung und der endgültige Wert wird als bool anstatt als Vergleichswert bewertet)
und ich vermute, dass es sich dem strengen Vergleichsoperator (===)
nur als Gewohnheit ausgedacht hat Update : Da ich merke, dass es auch drei Jahre nach der Veröffentlichung der Antwort noch einige Aktivitäten in diesem Thread gibt, dachte ich, dass ich etwas hinzufügen würde, das ich vergessen habe zu erwähnen. Diese Art der Notation ist als yoda conditions
bekannt. Sie können mehr darüber auf dieser Wikipedia-Seite lesen. p>
Es empfiehlt sich, if
statement zu schreiben. Betrachten Sie diesen Code:
Wenn Sie ein Gleichheitszeichen vergessen haben:
%Vor% Dann generiert PHP einen Parse-Fehler, also wissen Sie, dass Sie ein =
verpasst haben, und Sie können es beheben. Aber dieser Code:
weist 10% $var
zu und wird immer als echte Bedingung ausgewertet. Was auch immer der Inhalt von $var
ist, der obige Code wird immer 'wahr' und es ist sehr schwierig, diesen Fehler zu finden.
Beim Vergleichen der Werte gibt es keinen Unterschied in der Reihenfolge.
Es kann für jemanden leichter sein, einen solchen Code zu lesen oder zu schreiben, aber für mich ist es das Gleiche wie von rechts nach links zu schreiben.
Tags und Links php coding-style zend-framework