Andreas Korthaus: if Schleife mit Operatoren && und ||

Beitrag lesen

Hi!

soll ich das so schreiben?

_so_ nicht ;-)

finde ich nicht unbedingt übersichtlicher.

ich auch! Wie wärs mit:

if(
   (
        $_POST["ka"] == "JA"
     || $_POST["sa"] == "JA"
     || $_POST["sa1"] == "JA"
     || $_POST["ka1"] == "JA"
     || $_POST["sa1a"] == "JA"
     || $_POST["sa2"] == "JA"
     && $_POST["tel"] !=""
     && $_POST["telefax"] !=""
     && $_POST["email"] !=""
     && (
          (
              $_POST["vnname"] !=""
           && $_POST["position"] !=""
           && $_POST["abteilung"] !=""
          )
         || (
              $_POST["vnname1"] !=""
           && $_POST["position1"] !=""
           && $_POST["abteilung1"] !=""
          )
        )
      )
    )

Das was Ir pasiert ist vollkommen logisch, ist das selbe Problem wie bei 2 + 3 * 4, da kommt 14 raus und nichst anderes, war das mit "Punktrechnung geht vor Strichrechnung", udn solche Regeln gibt es auch für || und &&, wie es in dem Link oben beschreiben wird.

Wenn Du was anders erreichen willst brauchst Du klammern, also:  (2 + 3) * 4 = 20.

Genau so musst Du das mit && und || regeln. Das was bei obigem Ausdruck rauskommt ist genau das was Du hingeschreiben hast, wenn Du was anders willst musst Du andere Klammern setzen.

Grüße
Andreas