irc
eByteNet » Forum » Programmieren » PHP & MySQL » Was geht vor? AND oder OR?
Seiten: 1

12.06.2009 um 11:51:38
floriankr


Avatar von floriankr

Registriert: 05.04.2008
eBN-Alter: 2J 5M

Beiträge: 80
Verwarnungen: 0

eBytes: 657.06

Titel: Was geht vor? AND oder OR?
Hallo ich habe mal eine Frage. Wenn ich eine Bedingung wie z.B. "if ($a && $b || $c)" habe, wie wird das gehandhabt?

Das könnte man ja auf zwei Weisen verstehen:

Möglichkeit 1:
Entweder a und b müssen beie wahr sein oder nur c oder alle.

Möglichkeit 2:
a muss auf jeden Fall wahr sein. Und außerdem entweder b oder c.

Im ersten Falle würde die Bedinungen mit && zuerst verknüpft werden und dann erst ||, also ($a && $b) || $c
In Fall zwei zuerst die || und dann mit &&, also $a && ($b || $c).

Was wird realisiert? Und ist das dann in jeder Programmiersprache so?

Grüße,
Florian
OFF Melden
12.06.2009 um 13:15:58
quark007
ModeratorenTeamLeiter

Avatar von quark007

Registriert: 23.05.2006
eBN-Alter: 4J 3M 13T

Beiträge: 1879
Verwarnungen: 0

eBytes: 30060.43

Titel: Re: Was geht vor? AND oder OR?
Für was benötigst du das denn? Ich würde sowas eh mit Klammern lösen, wer weiß wie zukünftige PHP-Versionen das handhaben. Im schlimmsten Fall gibt es dann einen Fehler...

Man sollte bei Abfragen so Logische Zusammenhänge immer trennen... ansonsten wird es erstens schnell unübersichtlich... und außerdem wie gesagt bin ich nicht sicher, ob das konsistent bleibt in den zukünftigen Versionen von PHP..
_______________________________

OFF Melden
Interessantes
12.06.2009 um 13:34:33
theeagle


Avatar von theeagle

Registriert: 11.05.2006
eBN-Alter: 4J 3M 26T

Beiträge: 759
Verwarnungen: 0

eBytes: 55776.42

Titel: Re: Was geht vor? AND oder OR?
Erst wird die AND-Opration und dann die OR operation ausgeführt! AND hat einen höheren Rang als OR.

In anderen Sprachen kann das ganz anders sein!

Grüße Theeagle
_______________________________

Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
OFF Melden
12.06.2009 um 19:11:17
Debbe


Avatar von Debbe

Registriert: 17.10.2006
eBN-Alter: 3J 10M 21T

Beiträge: 361
Verwarnungen: 0

eBytes: 2667.9

Titel: Re: Was geht vor? AND oder OR?
if ($a && $b || $c)

Ich paraphrasiere hier mal Quark:

In deinem Post schreibst du, dass man das besser so schreibt:

if (($a && $b) || $c) --> Möglichkeit 1
if ($a && ($b || $c)) --> Möglichkeit 2

?

@theeagle: Wo hast du das nachgelesen? Oder hast du das einfach rasch probiert? (Nicht das ich deiner kompetenten Stimme nicht traue, aber ich bin grad auf dem "interessiert mich"-Trip ;))
_______________________________

Ist der Thread so langweilig, dass du meine Signatur lesen musst?
OFF Melden
12.06.2009 um 21:50:23
dominopage


Avatar von dominopage

Registriert: 20.05.2006
eBN-Alter: 4J 3M 17T

Beiträge: 2188
Verwarnungen: 0

eBytes: 2797.1

Titel: Re: Was geht vor? AND oder OR?
Ich weiß zwar nicht, ob er es hier gelesen hat, aber es könnte zumindest sein ;)

http://de3.php.net/manual/de/l[...].precedence.php
_______________________________

OFF Melden

eByteNet » Forum » Programmieren » PHP & MySQL » Was geht vor? AND oder OR?
Seiten: 1

Du hast in diesem Forum keine Schreibrechte!