Was ist besser?
%Vor%oder
%Vor% Effektiv machen sie das Gleiche. Wenn $val
nicht 'a' ist, gibt die Funktion false zurück. Nur persönliche Vorliebe?
Ich denke, es kommt darauf an, wie der Vergleich zu Ihnen "fühlt". Ich würde die erste verwenden, wenn es so aussähe, dass $ val "a" ein Sonderfall wäre und die Funktion normalerweise falsch zurückgegeben würde. Ich würde das zweite verwenden, wenn es sich eher so anfühlte, als wäre es 50/50, wie es gehen würde.
Über diese bevorzuge ich die zweite zur besseren Übersicht. Allerdings bevorzuge ich eigentlich
%Vor%Wenn in PHP in einer Funktion nichts getan wird und das Ende erreicht wird, ist es so, als ob es false zurückgibt. Aus diesem Grund ist es nie notwendig, false zurückzugeben, wenn nichts anderes innerhalb der Funktion ausgeführt werden soll. Das lässt uns folgendes:
%Vor%Wenn nach einer if, elseif oder else-Anweisung nur ein Befehl vorhanden ist, sind die geschweiften Klammern ("{" "}") nicht notwendig, was uns dazu bringt:
%Vor%In PHP können Sie tatsächlich einen Vergleich zurückgeben, der direkt vor der Rückgabe ausgeführt wird. Dies ist, was einige der anderen, die diesen Beitrag beantwortet haben, vorgeschlagen haben. Tun Sie dies, lassen Sie uns diesen Code:
%Vor%True wird zurückgegeben, wenn der Block "($ val == 'a')" wahr ist, andernfalls wird false zurückgegeben, da es nicht wahr ist. Logik.
Ich neige dazu, die zweite Konvention, die ich vorstellte, zu verwenden, nur aus Gewohnheit. Wenn ich die Schönheit der Einfachheit der dritten von den anderen präsentierten sehe, werde ich wahrscheinlich zu dieser wechseln, falls anwendbar.
BEARBEITEN:
Wenn Sie Code schreiben möchten, der für Nicht-PHP-Experten einfacher zu verstehen ist, könnte eine andere Alternative die folgende sein:
%Vor%Ich würde sagen, dass die Verwendung der geschweiften Klammern unter den Umständen, wie in meinem zweiten Beispiel beschrieben, Ihnen leichter lesbaren Code bietet, da die geschweiften Klammern dazu neigen, Ihren Code unordentlich zu machen, wenn sie nicht mehrere Zeilen enthalten / p>
Ich glaube wirklich, dass es das ist, was Sie jemals für den Code vermitteln wollten. Wenn Sie sich das ansehen:
%Vor%Sie können sehen, dass es dasselbe wie Ihre Beispiele tut, aber es hat eine andere Absicht. Für dieses Beispiel wäre es wirklich sinnlos zu haben:
%Vor% Ich denke, @Ned hatte es, weil er versucht, eine Absicht für die Operation if
zu vermitteln.
Wenn Sie boolean
nicht zurückgeben würden, würde ich das erste Formular wählen. In diesem Fall würde ich einfach tun:
wie andere vorgeschlagen haben.
Ich würde bei der ersten bleiben, je einfacher der Code (und einfacher zu lesen), desto besser.
Während Sie den zweiten Codeblock lesen. Sie können leicht verstehen, dass es false zurückgibt, wenn val nicht gleich 'a' ist.
Aber beim ersten Codeblock ist es ein bisschen schwer zu verstehen, wenn es falsch zurückgibt. Es ist nicht so schwer in diesem Beispiel, aber ich nehme an, dass Ihre if-Klauseln nicht so einfach sein werden.
Tags und Links php if-statement