Autor Zpráva
panmagor
Profil *
Dobrý den! Udělal jsem si teď ve "znalostech" trochu bordel a potřeboval bych osvěžit, jaký je rozdíl mezi

&& a ||... Co z toho je "zároveň?"
xxxObiWan
Profil *
- && je AND, neboli "a zároveň"
- || je OR, neboli "nebo"

...jinak, v PHP můžeš klidně používat slova AND a OR, zdá se mi to přehlednější ;-)
Joker
Profil
panmagor
&& je logický součin čili konjunkce, neboli výrok "A a současně B"
|| je logický součet, čili disjunkce, neboli výrok "A anebo B"

Příklad:
Výraz ("číslo je liché" && "číslo je větší než 10") bude pravdivý, pokud je číslo liché a současně větší než 10
Výraz ("číslo je liché" || "číslo je větší než 10") bude pravdivý, pokud je číslo liché, anebo větší než 10 (tj. může být liché, větší než 10 anebo současně liché i větší než 10)
Joker
Profil
Ještě poznámka ohledně jedné vlastnosti, kde začátečník může narazit a pokročilejší programátor jí využít:

V některých případech je výsledek celého výrazu jasný už po vyhodnocení první podmínky (Pokud u A && B je A nepravdivý, celý výraz je vždy nepravdivý bez ohledu na B. Pokud u A || B je A pravdivý, celý výraz je vždy pravdivý bez ohledu na B)
Většina programovacích jazyků (resp. asi všechny co znám) v takovém případě druhou podmínku ani nevyhodnotí, což je důležité, pokud součástí té druhé podmínky je vykonání nějaké funkce.
Příklad:
$vysledek = (false && funkce()); // funkce() se vůbec neprovede a $vysledek bude false.

Dá se to použít například takhle:
if($_GET["neco"] == 5); // v případě, že $_GET["neco"] vůbec neexistuje, vyhodí poznámku o použití nedefinované proměnné
if(isset($_GET["neco"] && ($_GET["neco"] == 5)); // projde v pořádku, protože pokud $_GET["neco"] neexistuje, druhá podmínka se vůbec nevyhodnotí

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