什么是&作为回报($ var& 1)在PHP中

时间:2012-11-13 09:33:27

标签: php

  

可能重复:
  Reference - What does this symbol mean in PHP?

当我在阅读this php page时,我不确定是什么&在$ var& 1。

function odd($var)
{
    // returns whether the input integer is odd
    return($var & 1);
}

returning a reference吗?我不确定。

如果你能解释一下或指导我一个php页面,我将不胜感激。

提前致谢。

3 个答案:

答案 0 :(得分:16)

这是一个按位AND操作。所有奇数都有LSB(最低有效位设置为1),偶数数字为0.

所以它简单地将两个数字“和”在一起。例如,5。它以二进制表示为101。 101& 001 = 001 =>是的,所以很奇怪。

答案 1 :(得分:3)

按位 ANDing 执行。 这是 bitwise operator

  

$ a& $ b 设置$ a和$ b中设置的位。


在这种情况下,return($var & 1);会针对0000....0001执行按位 AND ,返回 1 0 ,具体取决于$var最后一位

  

如果数字的二进制表示结束于0,则它是偶数(in   十进制)。

     

如果数字的二进制表示以1结尾,则为   奇数(十进制)。

答案 2 :(得分:1)

&bitwise and operator。在这种情况下,如果1为奇数,则会返回$var,如果0为偶数则会返回$var