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: 9 let
|
0