在下面一行的PHP中return($var & 1);
这是什么意思,什么是&在这种情况下意味着什么?
<?php
function test_odd($var)
{
return($var & 1);
}
$a1=array("a","b",2,3,4);
print_r(array_filter($a1,"test_odd"));
?>
答案 0 :(得分:3)
&
(&符号)运算符按位AND
。
如果$var
奇数,则会返回1
,否则会返回0
。
我们说$var = 13
,二进制文件是1101
(因为13 = 2^3 + 2^2 + 2^0
)。
当您执行1101 & 0001
时,您会获得0001
。因此,如果1
的最后一位(意味着它是奇数),则可以获得$var
;如果0
的最后一位为0,则可以$var
,这意味着{{1}被写成两个幂的和,没有2 ^ 0表示它的偶数。