Hi,
nur mal intresse halber:
Weiß jemand was der Unterschied ist, außer dem Space?..
Weil tun, tut beides
cu Desian
Hi,
nur mal intresse halber:
Weiß jemand was der Unterschied ist, außer dem Space?..
Weil tun, tut beides
cu Desian
Hi,
nur mal intresse halber:
Weiß jemand was der Unterschied ist, außer dem Space?..
naja, du aenderst die hierarchie…
siehst du z.b. wenn du ein paar umbrueche reinmachst:
<?php $foo = 2;<br />
if ( $foo==1 )
print 1 ;
else
if ( $foo==0 )
print 2;
else
print 3;
if ( $foo==1 )
print 1 ;
elseif ( $foo==0 )
print 2;
else
print 3;
?\>
mir ist nur keine beispiel eingefallen, bei dem es einen unterschied machen wuerde.
ich bin mir aber auch nicht sicher, ob es einen gibt.
hi,
http://de2.php.net/manual/de/control-structures.else…
da steht dann auch:
Es kann mehrere elseif-Anweisungen innerhalb einer if-Anweisung geben. Die erste elseif-Bedingung (falls vorhanden), die TRUE ist, wird ausgeführt. 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.
gruss
<?php :
$foo = 2; if ( $foo==1 ) print 1 ; else if ( $foo==0 ) print 2; else print 3; if ( $foo==1 ) print 1 ; elseif ( $foo==0 ) print 2; else print 3; ?\> mir ist nur keine beispiel eingefallen, bei dem es einen unterschied machen wuerde. ich bin mir aber auch nicht sicher, ob es einen gibt.
Hallo,
den Unterschied sieht man, wenn man mehrere elseif’s verwenden möchte also
if (\_ONE) {}
elseif (\_TWO) {}
elseif (\_THREE) {}
else {}
Anders würde es so gehen:
if (\_ONE) {}
else {
if (\_TWO) {}
else {
if (\_THREE) {}
else {}
}
}
hier muss man sich aber fragen, ob man nicht mit einem select-case arbeiten sollte…
Gruss, Omar Abo-Namous
<?php ::
$foo = 2; if ( $foo==1 ) print 1 ; else if ( $foo==0 ) print 2; else print 3; if ( $foo==1 ) print 1 ; elseif ( $foo==0 ) print 2; else print 3; ?\> mir ist nur keine beispiel eingefallen, bei dem es einen unterschied machen wuerde. ich bin mir aber auch nicht sicher, ob es einen gibt.Hallo,
den Unterschied sieht man, wenn man mehrere elseif’s verwenden
möchte alsoif (_ONE) {}
elseif (_TWO) {}
elseif (_THREE) {}
else {}Anders würde es so gehen:
if (_ONE) {}
else {
if (_TWO) {}
else {
if (_THREE) {}
else {}
}
}hier muss man sich aber fragen, ob man nicht mit einem
select-case arbeiten sollte…
nö, seh ich keinen unterschied… bau eine wahrheitstabelle dann siehst du, dass um jeeils den ausdruck in {} auszufuehren oben wie unten die selben bedingungen gueltig sein muessen…
der einzige uinterschied waere, wenn du ein statement ausfuehren willst, dass bei _ONE==false && _TWO== false && (_THREE==true||_THREE=false) ausgefuehrt werden soll, dann brauchst du mit der „elseif“-varante eine abfrage mehr… bei „if else“- schreibst du das statement einfach in die zeile vor „if (_THREE) {}“
nö, seh ich keinen unterschied… bau eine wahrheitstabelle
dann siehst du, dass um jeeils den ausdruck in {} auszufuehren
oben wie unten die selben bedingungen gueltig sein muessen…
Es ist mir klar, dass beide Abfragen dasselbe Ergebnis liefern, aber nur weil die zweite Abfrage verschachtelt ist. Also von der Syntax sind sie nicht gleich. ABER das geht nicht:
if (\_ONE) {}
else if (\_TWO) {}
else if (\_THREE) {}
else {}
der einzige uinterschied waere, wenn du ein statement
ausfuehren willst, dass bei _ONE==false && _TWO== false &&
(_THREE==true||_THREE=false) ausgefuehrt werden soll, dann
brauchst du mit der „elseif“-varante eine abfrage mehr… bei
„if else“- schreibst du das statement einfach in die zeile vor
„if (_THREE) {}“
oder man schreibt das statement zweimal??
if (\_ONE) {}
elseif (\_TWO) {}
elseif (\_THREE) {statement}
else {statement}
ich glaube, wir sind uns einig. Es wird im grossen auf den Einzelfall hinauslaufen.
Gruss, Omar Abo-Namous
Hi,
ok, nun weiß ich, ‚dass‘ es ein einen feinen Unterschied gibt.
Nun würde ich gernen noch wissen ‚welchen‘.
Nein, so gut bin ich leidern icht mit C vertraut, dass ich es daher ableiten kann…
Aber anke schonmal…
cu Desian
Also von der Syntax sind sie nicht gleich. ABER das geht
nicht:if (_ONE) {}
else if (_TWO) {}
else if (_THREE) {}
else {}
Doch das geht! Ist doch syntaktisch identisch mit
if (\_ONE) {}
else {
if (\_TWO) {}
else {
if (\_THREE) {
}
else {
}
}
}
nur halt ohne klammern um den else-Block, was ok ist weil nur ein einzelnes Statement folgt (das nächste if).
Grüße
Bruno
Hm nen Unterschied gibt es keinen… höchstens beim Parsen. Um „else if“ zu erkennen muss der Parser nichts weiter tun, weil das automatisch geht (ein else und dann ein if statement).
Für elseif muss man die Sprache um dieses Konstrukt erweitern, ist also quasi überflüssig