phpbar.de logo

Mailinglisten-Archive

[php] elseif vs. else if

[php] elseif vs. else if

Peter Bieling net2 at media-palette.de
Don Aug 3 13:23:23 CEST 2006


Sebastian Mendel wrote:

>>>außer dem wäre streng genommen das if nach einem else in {} zu setzen
>>>weil es ein neuer Anweisungsblock ist
>>
>>Deshalb ist "else if" auch logischer als "elsif", weil das die Trennung 
>>besser ausdrückt. Die zusätzlichen Klammern wären aber unübersichtlich.
> 
> 
> finde ich nicht logischer
> 
> will ich
> 
> if () {}
> else if {}
> 
> brauche ich keine {} nach dem else
> 
> will ich aber
> 
> if () {}
> else {
>   if () {}
>   if () {}
> }
> 
> brauche ich die {} nach dem else
> 
> also würde ich sie der Einheitlichkeit wegen oben ebenfalls schreiben
> oder ich nehme eben elseif für oben
> 
> else if und elseif sind für mich für zwei unterschiedliche Anwendungsfälle
> 
> und es heißt das man immer {} für Funktionsblöcke verwenden soll, auch
> für einzeilige
> 
> es widerspricht einfach sämtlichen anderen coding standards die Zend
> dort vorlegt

Mal sehen, was das Handbuch sagt:
"In PHP kann man auch 'else if' schreiben (zwei Wörter). Das Verhalten 
ist identisch zu 'elseif' (ein Wort). Die Bedeutung der Syntax ist 
leicht unterschiedlich (falls Sie mit C vertraut sind, das ist das 
gleiche Verhalten) aber der Grundtenor ist der, dass beide 
Schreibweisen, bezogen auf das Ergebnis, sich exakt gleich verhalten."

Ich stecke jetzt grade nicht so drin in C. Vielleicht kann ja hier 
jemand erklären, was gemeint ist.
Um noch mal Dein Beispiel zu verwenden:

if ($wert < 10) { ... }
else if ($wert >= 10) { ... }

Das würde ich so schreiben.
Anders aber:

if ($tageszeit == "Tag") {...}
else { // also "Nacht"
     if ($event == true) {...}
}

Da hätte ich jetzt Probleme "else if" zu schreiben oder die Klammer 
wegzulassen.
if ($tageszeit == "Tag") {...}
else if ($event == true) {...}

Spätestens, wenn noch ein $event_b dazu kommt, muss man ändern.

Viele Grüße

Peter





php::bar PHP Wiki   -   Listenarchive