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