At 05:54 08.03.2003, James Taylor said:
--------------------[snip]--------------------
>Ok, this may have already been posted to the list already, but the
>archives don't seem to like the & and && characters.
>
>I'm running into some code that looks like this:
>
><snip>
>Define('INPUT', 2);
><snip>
>if($search->level & INPUT) $tmp.= $search->input();
>
>
>Ok, what's the & mean? 
>
>As far as I could tell from the very little documentation I was able to
>scrape up on google, & is a bit-by-bit operator.  Thus, if either INPUT
>or $search->level, we get TRUE... If that's the case, what's the point
>of using it instead of || ?
--------------------[snip]-------------------- 

These are two totally different operators:
    &  - bitwise AND
    && - logical AND

So: 5 && 2 yields true
    5 & 2 yields 0

In your example we would need to know the value of INPUT - it is most
certainly one of 1, 2, 4, 8, etc, denoting a single bit. So the expression
    $search->level & INPUT
would yield nonzero (a.k.a. true) if the bit denoted by INPUT was set in
$search->level.


-- 
   >O     Ernest E. Vogelsinger
   (\)    ICQ #13394035
    ^     http://www.vogelsinger.at/



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to