概述
先来看看手册里位运算符的解释:
例子
名称
结果
$a & $b
And(按位与)
将把$a和$b中都为 1 的位设为 1。
$a | $b
Or(按位同或)
将把$a和$b中任何一个为 1 的位设为 1。
$a ^ $b
Xor(按位异或)
将把$a和$b中一个为 1 另一个为 0 的位设为 1。
~ $a
Not(按位取反)
将$a中为 0 的位设为 1,反之亦然。
$a << $b
Shift left(左移)
将$a中的位向左移动$b次(每一次移动都表示“乘以 2”)。
$a >> $b
Shift right(右移)
将$a中的位向右移动$b次(每一次移动都表示“除以 2”)。
再看一个实际的列子加深理解:
$a = 5;
$b = 2;
a & b = 0 (101 & 010)(相当于|的逆运算,如:13 = 8|5,那么13&5结果是5,13&8结果是8)
a | b = 7 (101 | 010)(和加法运算相等)
~a = -6 (~101)(这里不好理解,可以这样记忆:~0=-1;~1=-2......~5=-6)
a ^ b = 7 (101 ^ 010)
a << b = 20 (101 << 010)
a >> b = 1 (101 >> 010)
接下来和大家共享一下
位运算符在php的运用:
一:ecshop里面的init.php文件有些这样的语句:
if ((DEBUG_MODE & 1) == 1)
{
error_reporting(E_ALL);
}
else
{
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
}
if ((DEBUG_MODE & 4) == 4)
{
include(ROOT_PATH . 'includes/lib.debug.php');
}
ecshop用这样的方式实现了不同的报错方式
二: 赋予权限值
define(“DELETE”,8);//删除
define(“UPLOAD”,4);//上传
define(“WRITE”,2);//写入
define(“READ”,1);//只读
/*这是个权限判定函数*/
function power($key)
{
$str = '';
if(($key&DELETE) == DELETE) $str .= '删除,';
if(($key&UPLOAD) == UPLOAD) $str .= '上传,';
if(($key&WRITE) == WRITE) $str .= '写入,';
if(($key&READ) == READ) $str .= '只读,';
if($str != '')
{
echo "您拥有:".rtrim($str,',').'权限';
}
else
{
echo "您没有任何权限";
}
}
//假如一个人的权限值为7
power('7');
//结果: 您拥有:上传,写入,只读权限
最后
以上就是斯文耳机为你收集整理的php运算符 的作用是,PHP位运算符的作用的全部内容,希望文章能够帮你解决php运算符 的作用是,PHP位运算符的作用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复