Yes... it is the | operator that is doing it. >From the man pages:
$a & $b And Bits that are set in both $a and $b are set. $a | $b Or Bits that are set in either $a or $b are set. So, let's say: $a = 5; # 0101 $b = 3; # 0011 Then: $a & $b 0101 & 0011 = 0001 (1) and $a | $b 0101 & 0011 = 0111 (7) does that help? It's not *summing* the values... although in your case it looks like it is... it's OR'ing them. On Mon, 3 Mar 2003, Dan Sabo wrote: > Thanks Philip, > > OK I understand the binary thing but that line, I just don't see it, It's > not the or operator that's summing up the two binary values is it? > > Dan > > -----Original Message----- > From: Philip Hallstrom [mailto:[EMAIL PROTECTED] > Sent: Monday, March 03, 2003 3:53 PM > To: Dan Sabo > Cc: [EMAIL PROTECTED] > Subject: RE: Bitwise operator question > > > Yes. Oops. > > -philip > > On Mon, 3 Mar 2003, Dan Sabo wrote: > > > Hi Phillip, > > > > Don't U mean > > > > 0001 > > | 0100 > > = 0101 > > > > ? > > > > Dan > > > > -----Original Message----- > > From: Philip Hallstrom [mailto:[EMAIL PROTECTED] > > Sent: Monday, March 03, 2003 2:33 PM > > To: Dan Sabo > > Cc: [EMAIL PROTECTED] > > Subject: Re: Bitwise operator question > > > > > > 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 > > > > -- > 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 > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php