In PHP, se non viene eseguito nulla in una funzione e viene raggiunta la fine, sarà come se restituisse false. Per questo motivo non è mai necessario restituire false se non altro deve essere eseguito all'interno della funzione. Questo ci lascia con questo:
function test($val = 'a') {
if($val == 'a') {
return true;
}
}
Se v'è un solo comando dopo un'istruzione if, elseif altrimenti, le parentesi graffe ("{" "}") non sono necessari, che ci fanno finire con questo :
function test($val = 'a') {
if($val == 'a') return true;
}
In PHP è possibile restituire un confronto, che verrà eseguito immediatamente prima della restituzione. Questo è quello che hanno suggerito alcuni degli altri che hanno risposto a questo post. Fare questo ci lascia con questo codice:
function test($val = 'a') {
return ($val == 'a');
}
Vero verrà restituito se il blocco "($ val == 'a')" è vera, altrimenti falso sarà restituito, in quanto non è vero. Logica.
In realtà tendo ad usare la seconda convenzione che ho presentato, solo per abitudine. Vedendo la bellezza della semplicità del terzo presentato dagli altri probabilmente passerò a quello quando applicabile.
EDIT:
Se si vuole scrivere il codice che è più facile per gli esperti non PHP per capire, un'altra alternativa potrebbe essere il seguente:
function test($val = 'a') {
if($val == 'a')
return true;
else
return false;
}
direi che non utilizza le parentesi graffe nelle circostanze descritte nel mio secondo esempio fornisco codice più facile da leggere, poiché le parentesi tendono a rendere il codice disordinato se non contengono più righe.
E se il blocco else ha molte linee e immagino parte di una ricorsione? Questo mi sembra un po 'confuso (non riesco a formattare correttamente il codice nei commenti?): 'Nodo privato deleteMin (Node x) { if (x.left == null) restituisce x.right; x.left = deleteMin (x.left); x.N = dimensione (x.left) + dimensione (x.right) + 1; return x; } ' – allanx2000