Bei folgendem Beispiel sieht man das am einfachsten, auch wenns mit OR ist.
function a(){echo "a";return true;}
function b(){echo "b";return true;}
if (a() | b()){echo " erste_if ";}
if (a() || b()){echo " zweite_if ";}
> => ab erste\_if a zweite\_if
>
> ~~~php
> function a(){echo "a";return false;}
> function b(){echo "b";return false;}
> if (a() & b()){echo " erste_if ";}
> if (a() && b()){echo " zweite_if ";}
>
=> aba
Hat das aber nicht eher was damit zutun, dass das Bit-Operationen sind?
Also im Prinzip wie
function a(){echo "1";return 1;}
function b(){echo "2";return 2;}
if (a() + b()){echo " erste_if ";}
Denn damit wäre es wieder logisch, dass bei if (a() & b())
und if (a() | b())
beide Funktionen ausgeführt werden, da es ja erstmal die Rückgabe-Parameter braucht um den Testwert zu bestimmen.
MfG
bubble
--
If "god" had intended us to drink beer, he would have given us stomachs. - David Daye
If "god" had intended us to drink beer, he would have given us stomachs. - David Daye