Here's how I think about it...

CREATE_RECORDS = 1 in decimal and 0001 in binary.
ALTER_RECORDS = 4 in decimal and 0101 in binary.

that line returns a binary string where *any* of the bits are 1, so line
them up:

   0001
|  0101
=  0101

which is 5.

On Mon, 3 Mar 2003, Dan Sabo wrote:

> Hi,
>
> I'm reading the description of Bitwise Operators on page 81 of "Professional
> PHP 4", the Wrox book.  In the highlighted example on that page, the line of
> code...
>
> $user_permissions = CREATE_RECORDS | ALTER_RECORDS;
>
> the description in the book says that this line is building a set of user
> permissions out of the previously created constants with the OR operator (I
> understand what OR means).  The value of $user_permissions is set to either
> 1 or 4, which is in fact 5 (0101).  But how is this single line doing that?
> The explanation was cryptic (to me).
>
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

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

Reply via email to