<< >>是php里的两个位移运算符。比如2<<3,11>>2,其中的计算原理是啥呢?
已3<<2为例,<<表示左移,即3所有的位往左移动2位,首先把3转换为二进制数字0000 0000 0000 0000 0000 0000 0000 0011,所有位左移2,前面的位挤掉,后面空出来的补0,那结果就是
0000 0000 0000 0000 0000 0000 0000 1100结果是12,数学原理就是3*2的2次方即:3<<2 == 3*pow(2,2);
11>>2同理,11>>2 == floor(11/pow(2,2));只不过需要向下取整,即除不足为0
<?php
// TIP
$a = "he";
$a{1} == $a[1] == 'h';
// {}跟[]的作用一样,表示偏移