[pmwiki-users] bitwise assignment on HandleEdit

Carlos AB cabsec.pmwiki at gmail.com
Mon May 10 11:08:19 CDT 2010


Thanks Dave, finally got it.

I'm gonna do some tests to see it working today and never forget it.

I got puzzled with the "&=" thing.

Thanks again,

CarlosAB

On 5/7/10, DaveG <pmwiki at solidgone.com> wrote:
>
>
> On 5/7/2010 12:32 PM, Carlos AB wrote:
>> I've read the php manual about bitwise operators but couldn't
>> understand the code below:
>>
>>    $EnablePost&= preg_grep('/^post/', array_keys(@$_POST));
> Interesting question. I had to research, but here's how I'd interpret it.
>
>  From [1]: &= is bitwise 'and':   A &= B is the same as (A = A & B)
>
> 1] &= will perform a bitwise AND operation on the result of the the
> preg_grep, and the value of $EnablePost.
> 2] The preg_grep will return an array of the result of a search of the
> keys of the array $_POST for anything starting with the text 'post'
>
> So, the bitwise operator will scan each element of the array returned by
> $_POST, and do an 'and' with $EnablePost. So:
>
> Initial value of$EnablePost:	0/unset	1	1
> 'post' found in array:	 	1	1	0
> Result: 			0	1	0
>
> So, if $EnablePost is already set, and 'post' is in the $_POST array,
> then keep it set, otherwise disable posting.
>
>
>   ~ ~ Dave
>
> [1]http://php.comsci.us/etymology/operator/assignment.php
> [2]http://php.comsci.us/etymology/operator/bitwiseand.php
>



More information about the pmwiki-users mailing list