2012-07-02 16 views
8

Czy jest następujący zawsze akceptowany kod? Wydaje się działać, ale czy konsekwentnie działa ze wszystkimi wersjami PHP?PHP Jeśli instrukcje/Else bez nawiasów

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

Dzięki.

+0

to działa zawsze bez względu na to, z której wersji php korzystasz. ["przeczytaj"] (http://php.net/manual/en/control-structures.elseif.php) – diEcho

Odpowiedz

7

Jest to dopuszczalne w całej wersji i będzie działać tak długo, jak chcesz wykonać tylko jedną rzecz w każdym bloku sterującym. Używanie nawiasów pomaga w łatwiejszym śledzeniu, gdzie bloki zaczynają się i kończą, a także w przyszłości, kiedy trzeba dodać jeszcze jedną instrukcję.

This post ma dobre podsumowanie różnych opcji bloków if/else w PHP.

0

Kod jest zawsze do zaakceptowania. Będzie konsekwentnie działał we wszystkich wersjach PHP.

0

Tak, ale musi to być tylko jeden wiersz zdania. Jeśli potrzebujesz więcej wierszy, potrzebujesz nawiasów.

2

Twój kod jest akceptowalny i będzie działał poprawnie we wszystkich wersjach php i IMHO: nie tylko php wszystkie inne języki obsługują to samo dla pojedynczej pracy. ale dla czytelnościi unikać żadnego błędu, w przypadku, może trzeba dodać wiele instrukcji później, to zaleca używać statments blokowe

3

To działa dobrze i jest to popularny sposób robienia szybko, jeśli jest w wielu językach. Jak wspomniano wcześniej - jeśli używasz więcej niż jednego wiersza kodu, musisz umieścić go w bloku z nawiasem.

Na przykład tutaj:

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

Wynik będzie, że „x jest jeden” zostanie powtórzone, jeśli x == 1, a „jeden jest x” zostanie powtórzone za każdym razem - niezależnie od tego czy x = = 1 lub nie.

Aby oba wiersze kodu można było wykonać tylko wtedy, gdy warunek jest spełniony, należy zamknąć go w bloku.

if (x == 1) 
{ 
echo "x is one"; 
echo "one is x"; 
} 
Powiązane problemy