Beispiel:
if(a) echo 'test';
else if (b) echo 'test2';if(a) echo 'test';
elseif (b) echo 'test2';Evtl. sind im ersten Beispiel zwei Verzweigungen vorhanden (if und wenn nicht else und wenn else true ist dann noch ein if) und beim zweiten nur eine (if und wenn nicht elseif)?
Aber den Untnerschied den die PHP-Doku nicht erklärt, erklärst du wieder nicht :)
Das Ergebnis ist dasselbe - das Parsingverhalten ist aber, wenn ich jetzt nicht falsch liegen etwa so: Spricht das eine (elseif) geht sequentiell durch und steigt da aus, wo die Bedingung zutrifft (wie eine switch-Verzweigung mit break drin) und die andere Variante (else if) verhält sich wie ein verschachtelter if-else-Zweig.
if($i = 0) {
} elseif (i = 1) {
} elseif (i = 2) {
} else {
}
entspricht logisch etwa diesem:
switch($i) {
case 0:
break;
case 1:
break;
case 2:
break;
default:
}
if($i = 0) {
} else if (i = 1) {
} else if (i = 2) {
} else {
}
entspricht / bzw. ist eine kompaktere schreibweise für:
if($i = 0) {
} else {
if($i = 1) {
} else {
if($i = 2) {
} else {
}
}
}