PHP中两个小于号“<<”是什么意思

如题所述

PHP中两个小于号“<<”表示的php中的位运算符,<<表示的是向左移动,>>表示的是向右移动,这个我们可以通过一个例子更加容易的来理解位运算:

<?php  
//定义权限  
define('READ', 1<< 0);    // 把可读权限放在最右边  
define('WRITE', 1<<1);    // 可读权限向左移一位  
define('EXCUTE', 1<<2);   // 可执行权限向左移两位  
  
//赋予权限  
$user_permission = READ | WRITE;  
  
//验证权限  
echo '可读:', ($user_permission & READ) ? 'Yes' : 'No', "\n";  
echo '可写:', ($user_permission & WRITE) ? 'Yes' : 'No', "\n";  
echo '可执行:', ($user_permission & EXCUTE) ? 'Yes' : 'No', "\n";  
?>

通过位运算,我们能更加方便的控制权限。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-11-22
很少有人会用二进制左移的吧,你应该是某个php框架中的语法吧?我记得cakephp好像是这样的语法,是引用ror框架的语法而已,其实就是这个框架遇到<<符号的时候调用它内部的方法,解析成原始的php,php中原始应该是类的 $calss->$function

应该就是调用 类的具体方法
第2个回答  2011-11-13
左移动运算符
简单讲解:
将二进制的全部位向左移。比如:echo 5 << 3; 输出40.
因为 5 转换二进制为 00000101 左移动三位变成 00101000 转化为十进制就是 40。
如果不知道什么是位运算,可以看这里:http://baike.baidu.com/view/379209.htm
左移运算符相关可以看这里:http://baike.baidu.com/view/3983975.htm
PHP手册中位运算符相关,可以看这里:http://www.php.net/manual/en/language.operators.bitwise.php

有问题,可以Hi本回答被提问者采纳
第3个回答  2011-12-03
好少人用了。。。
这个符号就是C里面的位移。。。
第4个回答  2011-11-16
php按位左移运算符
相似回答