Autor | Zpráva | ||
---|---|---|---|
panmagor Profil * |
#1 · Zasláno: 7. 5. 2008, 12:29:30
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 * |
#2 · Zasláno: 7. 5. 2008, 12:40:12
- && 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 |
#3 · Zasláno: 7. 5. 2008, 12:42:42
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 |
#4 · Zasláno: 7. 5. 2008, 13:00:43
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í |
||
Časová prodleva: 17 let
|
0