2012-07-02 17 views
8

Ist der folgende Code immer akzeptabel? Es scheint zu funktionieren, aber funktioniert es konsistent mit allen Versionen von PHP?PHP If/Else-Anweisungen ohne Klammern

if ($x > $y) 
    echo 'x is greater'; 
elseif ($x == $y) 
    echo 'equal'; 
else 
    echo 'y is greater'; 

Danke.

+0

Dies funktioniert immer, egal welche Version von PHP Sie verwenden. ['lesen'] (http://php.net/manual/en/control-structures.elseif.php) – diEcho

Antwort

7

Das ist in der gesamten Version akzeptabel und wird so lange funktionieren, wie Sie nur eine Sache in jedem Steuerblock machen wollen. Durch die Verwendung von Klammern wird es einfacher, zu verfolgen, wo Blöcke beginnen und enden, sowie in der Zukunft, wenn Sie nur eine weitere Anweisung hinzufügen müssen.

This post hat eine gute Zusammenfassung der verschiedenen Optionen für if/else Blöcke in PHP.

0

Der Code ist immer akzeptabel. Es wird dauerhaft in allen PHP-Versionen funktionieren.

0

Ja, aber es müssen nur eine Zeile Sätze sein. Wenn Sie mehr Zeilen benötigen, benötigen Sie Klammern.

2

Sie Code ist akzeptabel und wird in allen Versionen von PHP und IMHO gut funktionieren: nicht nur PHP alle anderen Sprachen unterstützen die gleiche für einzelne Anweisung. aber für Lesbarkeit und vermeiden ein Fehler, falls Sie müssen möglicherweise mehrere Aussagen später hinzufügen möchten, ist es empfohlen Block statments zu verwenden

3

Das funktioniert gut, und es ist eine gängige Art, schnell zu tun, wenn es in vielen Sprachen ist. Wie bereits erwähnt - wenn Sie mehr als eine Zeile Code verwenden, müssen Sie es in einen Block mit Klammer setzen.

Zum Beispiel hier:

if (x == 1) 
echo "x is one"; 
echo "one is x"; 

Das Ergebnis wird sein, dass wird hallten „x ist“, wenn x == 1, während „one x“ wird jedes Mal, hallte werden - unabhängig davon, ob x = = 1 oder nicht.

Damit beide Codezeilen nur ausgeführt werden, wenn die Bedingung wahr ist, müssen Sie sie in einem Block einschließen.

if (x == 1) 
{ 
echo "x is one"; 
echo "one is x"; 
} 
Verwandte Themen