te stvari vuku poreklo iz C-a, ako se dobro secam. Nikako nije u pitanju ista stvar, vecina C kompajlera bi trebala da ti da warning kad u if-u koristis jedan & ili |.
Naime ako kazes:
if(a & b) to je skracena varijanta if( (a&b)==true )
onda se izracunava vrednost a & b i to testira na tacnost
a ako kazes:
if(a && b)
onda se ispituje a, pa ako je tacno zatim i b pa se onda radi ono ispod.
ako je a netacno nema potrebe da se ispituje b, slicno je i kod ||.
if(a | b) -izracunava se, to je ustvari if((a|b)==true)
if(a || b) ispituje se b samo ako je a netacno jer bi tada b moglo da bude tacno.
zato i imas konstrukcije tipa
$db=mysql_connect($dbServer,$dbUser,$dbPass) or die("neuspesna konekcija")
a gde su ?: konstrukcije. Man, I love C.
evo ti jedne krace C varijante(obzirom da si VB-ovac)
if(($a=5) | ($b=6) | ($c=7))
{}
$a=(int)$a; $b=(int)$b; $c=(int)$c;
echo("<PRE>");print_r($a);print_r($b);print_r($c);echo("</PRE>");
if(($a==5) | ($b==6) | ($c==7))
{}
$a=(int)$a; $b=(int)$b; $c=(int)$c;
echo("<PRE>");print_r($a);print_r($b);print_r($c);echo("</PRE>");
To su ti nepatvorena C-ovska divljanja, jer su ljudi isli na to da stede prste
pa je potpuno ravnopravno
$i=$i+1
$i+=1
$i++
Uh, da nas vide ovi iz C foruma, sve bi nas proglasili idiotima sto uopste o ovom raspravljamo :). Te stvari oni dobijaju sa majchinim mlekom, ma kakvi cista genetika.
Naravoucenije:
Kad se covek sretne sa PHP-om vazi sledece:
"Ko je ucio C kajace se, ko nije ucio C kajace se"
Sima Kosmos iz dalekog svemira