2012-07-02 11 views
8

È il seguente codice sempre accettabile? Sembra funzionare, ma funziona costantemente con tutte le versioni di PHP?PHP If/Else Statements Without Brackets

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

Grazie.

+0

funziona sempre indipendentemente dalla versione di php in uso. [ 'Read'] (http://php.net/manual/en/control-structures.elseif.php) – diEcho

risposta

7

Ciò è accettabile per tutta la versione e funzionerà fino a quando si desidera eseguire una sola operazione all'interno di ciascun blocco di controllo. Usare le parentesi aiuta a rendere più facile tracciare dove iniziano e terminare i blocchi, così come le prove future per quando è necessario aggiungere solo una dichiarazione in più.

This post ha un buon riepilogo delle varie opzioni per i blocchi if/else in PHP.

0

Il codice è sempre accettabile. Funzionerà in modo coerente in tutte le versioni di PHP.

0

Sì, ma deve essere solo una riga di frasi. Id è necessario utilizzare più file di cui avrete bisogno parentesi.

2

il codice è accettabile e funzionerà bene in tutte le versioni di php e IMHO: non solo PHP tutte le altre lingue supportano lo stesso per la singola statistica. ma per leggibilità e evitano qualsiasi errore, nel caso in cui potrebbe essere necessario aggiungere più istruzioni in seguito, è raccomanda di utilizzare statments blocco

3

Questo funziona bene, ed è un modo comune di fare velocemente se è in molte lingue. Come detto prima, se usi più di una riga di codice devi metterla in un blocco con parentesi.

Per esempio qui:

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

Il risultato sarà che "x è uno" sarà fatto eco se x == 1, mentre "uno è x" verrà fatto eco ogni volta - non importa se x = = 1 o no.

Per ottenere entrambe le righe di codice da eseguire solo quando la condizione è vera, è necessario racchiuderla in un blocco.

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