Mailinglisten-Archive |
Ralf Geschke schrieb: > Hallo! > > Entschuldigung, aber ich konnte nicht glauben, dass PHP so Banane ist, > aber das ist es auch nicht. Vergleiche mal mit > http://de.php.net/manual/en/language.operators.php#language.operators.precedence > >> das liegt daran, da das || eine höhere Priorität hat, als das or und >> auch eine höhere Priorität als das ==. Wie bei Punkt vor Strich, wo >> zuerst die Multiplikation errechnet wird (z.B.: in 5+3*4) wird das || >> vor dem == errechnet. > > Also: Die höchste Priorität hat ==, es folgt || und schliesslich das > "or". Dazwischen gibt es noch einige andere. > Das Problem hier dürfte vielmehr daran liegen, dass "1" zu true > ausgewertet wird, aber ebenso jeglicher andere String, der ungleich 0 > ist. da hat doch einer aufgepasst .. ich hatte auch kurz gestutzt ... ;-) vermutlich meinte Yannik, oder hat es verwechselt mit, sowas ähnliches wie: while ($continue && $row = db_fetch($result)) { ... } while ($continue and $row = db_fetch($result)) { ... } mit klammern zur Verdeutlichung: while (($continue) && ($row = db_fetch($result))) { ... } while (($continue and $row) = (db_fetch($result))) { ... } da haben wir nun wirklich zwei unterschiedliche Anweisungen ... falls das zweite so überhaupt funktioniert ... -- Sebastian Mendel
php::bar PHP Wiki - Listenarchive