| Autor | Zpráva | ||
|---|---|---|---|
| leorond Profil |
Mohl by mi prosím někdo vysvětlit jaký rozdíl je mezi & / && / AND / OR v podmínkách? Nemyslím tím to že AND je A a OR je NEBO, děkuji.
Vlastně by mne zajímala použitelnost na nějakých jednoduchých příkladech |
||
| lionel messi Profil |
leorond:
„&& / AND“ Tu je jediný rozdiel v priorite, slovné operátory (AND a OR) ju majú nižšiu než && (a) resp. || (alebo)…
„& / &&“ & je tzv. bitové a, && (alebo and) logické. „Vlastně by mne zajímala použitelnost na nějakých jednoduchých příkladech“ Príklady použitia nájdeš trebárs na uvedených linkoch smerujúcich priamo na oficiálnu PHP dokumentáciu. :-) |
||
| Zechy Profil |
leorond:
Jak už jsi říkal - AND a && je logický operátor A, tudíž když máš podmínku: $i = 5;
if($i == 5 && $i == 8) { ... }V případě OR nebo taky se zapisuje ještě || se jedná o NEBO $i = 5;
if($i == 5 || $i == 8) { ... }A jak už psal lionel messi, pokud jsou v podmínkách operátory zkombinované, provede se nejdříve AND a poté OR. |
||
| leorond Profil |
#4 · Zasláno: 31. 1. 2016, 14:22:58
Děkuji takto mi to stačí, zajímalo mne zda použití například & a AND má stejný význam nebo je tam nějaký rozdíl.
|
||
| juriad Profil |
& je bitový operátor na číslech
1 & 1 = 1 12 & 5 = 4 5 & 0 = 0 5 & 2 = 0 && je logický operátor na pravdivostních hodnotách
true && true = true false && true = false and je logický operátor, stejně jako &&, ale má menší prioritu
$x = true && false; # x bude false $x = true and false; # x bude true $x = (true && false); ($x = true) and false; and je užitečný jen zřídka a doporučuji jej nemíchat s operátorem &&.
Podobně existují operátory |, || a or. Mají význam „nebo“ a mají o stupeň menší prioritu než jejich zvýše zmínění bratříči. |
||
| Tomáš123 Profil |
#6 · Zasláno: 31. 1. 2016, 14:47:43
leorond:
Bitový AND (&) (súčin):
1 1 0 1 0 0 1 0 0 1 --------- 0 1 0 0 0 1.
Bitový OR (|) (súčet):
1 1 0 1 0 0 1 0 0 1 --------- 1 1 0 1 1 1.
Vezmime si juriadov príklad 12 & 5 = 4.
12 je binárne 1100; 5 je binárne 0101:
1 1 0 0 0 1 0 1 ------- 0 1 0 0 & značí, že 1 je iba tam, kde je na oboch bitoch 1. 100 binárne je 4 v desiatkovej sústave.
12 | 5 by sa vyhodnotil ako 13.
juriad: „ ($x = true) and false;“
Prečo sa toto vyhodnotí ako true, prosím?
|
||
| juriad Profil |
#7 · Zasláno: 31. 1. 2016, 15:13:01
Tomáš123:
„($x = true) and false;“ V $x bude true, ale vyhodnotí se to jako false, které se zahodí. Podobně jako výraz ($x = 5) + 2; |
||
|
Časová prodleva: 10 let
|
|||
0