Was ist der Unterschied zwische else und else if (PHP)?
Für mich ist beides das Selbe
4 Antworten
Else wird immer ausgeführt, sofern "If" nicht zutrifft. Else if kann noch eine zusätzliche Bedingung abprüfen vorher.
Beispiel (aus C, aber selbes Prinzip)
/*** Else ***/
if(Zahl == 1)
{
// Ausgeführt, wenn Zahl = 1
}
else
{
// alle anderen Fälle
}
/*** Else if ***/
if(Zahl == 1)
{
// Ausgeführt, wenn Zahl = 1
}
else if(Zahl == 2)
{
// Ausgeführt, wenn Zahl = 2
}
else
{
// alle anderen Fälle
}
Klar kannst du auch mehrere "Else if" Abfragen einbauen, je nachdem, wie viele Bedingungen du prüfen möchtest.
Allerdings gibt es immer nur einen Else-Zweig. Denn wenn du das einfach wörtlich nimmst, gibt es nur einen "wenn nichts zutrifft, machst du ansonsten das". Und das kann es ja logischerweise nur einmal geben.
Also:
/* Das geht */
if(Zahl == 1)
{ }
else if (Zahl == 2)
{ }
else if (Zahl == 3)
{ }
/* Das geht nicht */
if(Zahl == 1)
{ }
else
{ }
else /* <---- das wird nie erreicht */
{ }
Übrigens ist ein "else" keine Pflicht, du kannst if / else if auch ohne einen dedizierten "else"-Pfad nutzen.
Also: Ein "If" geht ohne "else", ein "else" aber nie ohne "if".
Zwei Else bringen nichts - wie auch. Das Else wird ausgeführt, wenn nichts anderes zutrifft. Innerhalb des Elses kannst du weiter filtern, wenn gewünscht.
Ein else if ist wie ein separates if. Der Vorteil besteht darin, dass wenn eins der ifs zutrifft, dass die anderen nicht mehr ausgeführt werden, als wenn du zig ifs hintereinander nutzt.
Nein, denn wenn du else sagst, sagst du dem Programm was es tun soll wenn nur die eine if bedingung fehlschlägt bzw. Nicht zutrifft.
Mit elseif kannst du zusätzlich weitere Bedingungen angeben und dann immer noch mit else alles andere behandeln.
Du kannst hierfür aber zb auch 2 if /else verzweigungen nehmen:
If zahl = 1
Blabla
If zahl = 2
Bloblo
Else
Bleble
If (Falls Bedingung zutrifft)
else if (Falls die vorherige Bedingung nicht zutrifft, falls diese Bedungung zutrifft)
else (falls keine Bedingung zutrifft)
Heißt, das else löst aus, wenn keine andere Bedingung von den If / if else zutrifft.
Ein if else hat eine Bedingung, ein Else nicht.
Wenn du zb eine Variable hast, die 3 oder mehr Werte annehmen kann.
Zb.: die Variable "Gender" {male, female, prefer not to say, non binary, gorilla}
Und dann abfragst:
If gender = male
Backgroundcolor = blue.
Elseif gender = female
Backgroundcolor = pink.
Else
Backgroundcolor = standard.
Du hast quasi die Möglichkeit 2 oder mehr Bedingungen zusätzlich abzufragen.
Bei mehr als 3 verschiedenen Bedingungen, ist dann aber auch schon ein switch/case sinnvoll.
Danke für das lustige Beispiel hat mir sehr geholfen!
Bei ELSE unterscheidest Du nur zwischen zwei Parametern, bei ELSE IF um mehrere.
Bei ELSE unterscheidest Du nur zwischen zwei Parametern
Welche zwei Parameter meinst du?
Vielen Dank! Hätte man nicht einfach zwei else if brauchen können anstatt else oder einfach zwei else? Ich verstehe nicht warum zwei von denen exestieren. Sry bin Anfänger. Möglicherweise ist das eine komische Frage.