0

在 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"));
?>
4

1 回答 1

5

( &&) 运算符按位执行AND

如果$var奇数则返回1,否则0

比方说$var = 13,二进制是1101(因为13 = 2^3 + 2^2 + 2^0)。

当你这样做时,1101 & 0001你会得到0001. 因此,您可以得到1if$var的最后一位为 1(意味着它是奇数)或0if$var有 0 作为最后一位,这意味着它$var被写为 2 的幂的总和,没有 2^0` 意味着它的偶数。

于 2013-07-24T06:29:28.103 回答