当我在阅读this php page时,我不确定是什么&在$ var& 1。
function odd($var)
{
// returns whether the input integer is odd
return($var & 1);
}
是returning a reference吗?我不确定。
如果你能解释一下或指导我一个php页面,我将不胜感激。
提前致谢。
答案 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
。