L'elseif serve a verificare una condizione non specificata nell'if precedente. Prendi per esempio questo codice:
Codice PHP:
$a = 1;
$b = 1;
if( $a == $b ) {
echo "$a uguale a $b";
}
if( $a > $b ) {
echo "$a maggiore di $b";
} else {
echo "$a minore di $b";
}
In questo caso la prima condizione sarà vera, quindi verrà eseguito il codice del primo if. Nel passo successivo c'è un altro blocco if-else, che non è per niente collegato al precedente (secondo PHP), quindi la prima condizione sarà falsa, ma il successivo else verrà eseguito, perchè è in relazione con il secondo if, ma non con il primo.
Se invece avessimo usato l'elseif al posto del secondo if, al verificarsi della prima condizione il resto del blocco if-elseif-else sarebbe stato ignorato, ottenendo quindi un risultato corretto (cioè sarebbe stato eseguito solo il primo if).
Quindi un esempio corretto sarebbe:
Codice PHP:
$a = 1;
$b = 1;
if( $a == $b ) {
echo "$a uguale a $b";
} elseif( $a > $b ) {
echo "$a maggiore di $b";
} else {
echo "$a minore di $b";
}
Oppure si potrebbe fare anche solo con degli if-else:
Codice PHP:
$a = 1;
$b = 1;
if( $a == $b ) {
echo "$a uguale a $b";
} else {
if( $a > $b ) {
echo "$a maggiore di $b";
} else {
echo "$a minore di $b";
}
}