Autor Zpráva
Orlando
Profil *
Ahoj, jak můžu zapsat podmínku

1 když něco nebo 2 když něco jiného a 3 ještě něco

Chci aby if 1 bral samostatně, a if 2 spolu s if 3.

Normálně bych to zapsal takto
if(1 když něco || 2 když něco jiného && 3 ještě něco)
{
kod...
}


jenže if 3 má dopad i na if 1 :( Poradí někdo?
Ugo
Profil
závorku if(1 || (2 && 3))
ShiraNai7
Profil
Orlando, Ugo:

|| má menší "precedence" než && .. tj závorky jsou zbytečné.

edit: jinak tu podmínku jsem teda moc nepochopil .. kód, co jsi napsal, by jí měl odpovídat
Ugo
Profil
ShiraNai7:
máš recht a to sme si říkal že sem dám odkaz na ty přednosti, to by byl totální stěr :-) každopádně ja všude závorkuju, je to přehlednější a jistější
okolojdouci
Profil *
Ugo:
každopádně ja všude závorkuju
Taky tak. A operátory vypisuju textem, nechápu jak se někdo může orientovat v těch čárách a zamotancích, když je to víc než jednou vedle sebe :)
Orlando
Profil *
okolojdouci:
Ale programátor který napsal pár GB php kódu ti řekne, že bohužel jsou situace kdy platí, že:
&& !== AND

a
|| !== OR
ShiraNai7
Profil
okolojdouci:

Já taky psal "or" a "and" .. ale || a &&:

1) používá i javascript aj.
2) je vizualne vyraznejsi

A jak píše Orlando, mezi || a or a && and je rozdíl, viz

http://php.net/manual/en/language.operators.precedence.php
Someone
Profil
  $promenna1 = 1;
  $promenna2 = 2;
  $promenna3 = 3;
  if ($promenna1==1 || $promenna2==2 && $promenna3==3)
    {echo "Buďto platí že promenna je 1 nebo platí, že proměnná 2 je dva a zároveň promenna3 je 3";}
    else {echo "Neplatí";}
Funguje mi...
Pokud promenna1==1 a promenna2!=2 nebo promenna3!=3 podmínka spněna.
Pokud promenna1==7, promenna2==2 a promenna3==3 podmínka také splněna
Pokud promenna1!=1,ale promenna2==2 a zároveň promenna3==3 podmínka také splněna.
okolojdouci
Profil *
[#7] ShiraNai7

Takže
$f = false or true;
// The constant false is assigned to $f and then true is ignored
// Acts like: (($f = false) or true)


To mě trochu zaskočilo. Zamyslím se.
Bertram
Profil
if(true or cokoli and cokoli) //vždy true
if(false or true and false)   // false
if(false or true and true)    //true
if(false or false and false)    //false

Pokud je splněna první podminka, tak se další kód ani nevyhodnocuje.
Pokud není vyhodnocuje se podmínka and.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0