What does >> mean in PHP?
Consider:
echo 50 >> 4;
Output:
3
Why does it output 3?
50 in binary is 11 0010
, shift right by 4 yields 11
which is equal to 3.
See PHP documentation and Wikipedia.
As documented on php.org, the >>
operator is a bitwise shift operator which shifts bits to the right:
$a >> $b - Shift the bits of $a $b steps to the right (each step means "divide by two")
50 in binary is 110010
, and the >>
operator shifts those bits over 4 places in your example code. Although this happens in a single operation, you could think of it in multiple steps like this:
00011001
00001100
00000110
00000011
Since binary 11
is equal to 3
in decimal, the code outputs 3.
算术右移。
链接地址: http://www.djcxy.com/p/1778.html上一篇: 在PHP中奇怪的打印行为?
下一篇: >>在PHP中意味着什么?