Why does PHP return 0
when a logical AND returns FALSE, but does not return the 0
when a conditional AND returns FALSE? Witness:
php > function a(){
php { echo "a";
php { return FALSE;
php { }
php > function b(){
php { echo "b";
php { return TRUE;
php { }
php > echo (a() && b())."\n";
a
php >
php > echo (a() & b())."\n";
ab0
php >
Notice that the second echo
statement ends with 0
, yet the first does not. Why?