怎么理解这个判断式((DEBUG_MODE 2) == 2)
程序员文章站
2022-06-17 12:41:08
...
怎么理解这个判断式((DEBUG_MODE & 2) == 2)
((DEBUG_MODE & 2) == 2)//这句如果要成立,就要是((2 & 2)==2)这种式子怎么理解呀?
define('DEBUG_MODE',false);//如是2是,执行显示1
if ((DEBUG_MODE & 2) == 2)
{
$smarty = '1';
}
else
{
$smarty= '0';
}
echo $smarty;
?>
复制代码[ ]
D8888D回贴内容-------------------------------------------------------
“=&”这是什么运算符呀?
$user =& init_users();
D8888D回贴内容-------------------------------------------------------
是引用,不过在函数前面加&还真不知道有什么用.
D8888D回贴内容-------------------------------------------------------
位运算中的与运算啊...
D8888D回贴内容-------------------------------------------------------
我来解释一下
其实这里的2应该是一个定值,是定义你这种模式的常量,如果这样写就好理解了
define('MODE_A',2);
$now_mode = 2;
if(($now_mode & MODE_A) == MODE_A){
echo "当前模式为MODE_A";
}
?>
复制代码有的同学说了,那为啥不用 == 直接判断,其实这里还有一个意义就是包含的关系
如 6 & 2 的值为 2,而6&3 的值也为2,而2 != 3
这种方式往往可以表示一个范围,对照计算机网络中IP与子网掩码的关系理解一下
D8888D回贴内容-------------------------------------------------------
谢谢LS,你的回答就好理解了.
D8888D回贴内容-------------------------------------------------------
原帖由 lmhllr 于 2007-12-17 17:27 发表 [url=http://www.111cn.cn/bbs/redirect.php?goto=findpost&pid=335104&ptid=46748]链接标记[img]http://www.111cn.cn/bbs/images/common/back.gif[/img][/url]
位运算中的与运算啊...
能不能解释下他的作用呢?还是不明白这样写的用意.
D8888D回贴内容-------------------------------------------------------
原帖由 jayliu 于 2007-12-17 16:55 发表 [url=http://www.111cn.cn/bbs/redirect.php?goto=findpost&pid=335044&ptid=46748]链接标记[img]http://www.111cn.cn/bbs/images/common/back.gif[/img][/url]
是引用,不过在函数前面加&还真不知道有什么用.
加了&
函数return值为引用
php5默认为引用,不能乱用&,在php5里如果函数直接return false的话,加了&的function就挂了,php将找不到引用的地址
D8888D回贴内容-------------------------------------------------------
LS的我又学到了新东西呀感谢[img]http://www.111cn.cn/bbs/images/smilies/default/victory.gif[/img]
D8888D回贴内容-------------------------------------------------------
原来这样呀
((DEBUG_MODE & 2) == 2)//这句如果要成立,就要是((2 & 2)==2)这种式子怎么理解呀?
define('DEBUG_MODE',false);//如是2是,执行显示1
if ((DEBUG_MODE & 2) == 2)
{
$smarty = '1';
}
else
{
$smarty= '0';
}
echo $smarty;
?>
复制代码[ ]
D8888D回贴内容-------------------------------------------------------
“=&”这是什么运算符呀?
$user =& init_users();
D8888D回贴内容-------------------------------------------------------
是引用,不过在函数前面加&还真不知道有什么用.
D8888D回贴内容-------------------------------------------------------
位运算中的与运算啊...
D8888D回贴内容-------------------------------------------------------
我来解释一下
其实这里的2应该是一个定值,是定义你这种模式的常量,如果这样写就好理解了
define('MODE_A',2);
$now_mode = 2;
if(($now_mode & MODE_A) == MODE_A){
echo "当前模式为MODE_A";
}
?>
复制代码有的同学说了,那为啥不用 == 直接判断,其实这里还有一个意义就是包含的关系
如 6 & 2 的值为 2,而6&3 的值也为2,而2 != 3
这种方式往往可以表示一个范围,对照计算机网络中IP与子网掩码的关系理解一下
D8888D回贴内容-------------------------------------------------------
谢谢LS,你的回答就好理解了.
D8888D回贴内容-------------------------------------------------------
原帖由 lmhllr 于 2007-12-17 17:27 发表 [url=http://www.111cn.cn/bbs/redirect.php?goto=findpost&pid=335104&ptid=46748]链接标记[img]http://www.111cn.cn/bbs/images/common/back.gif[/img][/url]
位运算中的与运算啊...
能不能解释下他的作用呢?还是不明白这样写的用意.
D8888D回贴内容-------------------------------------------------------
原帖由 jayliu 于 2007-12-17 16:55 发表 [url=http://www.111cn.cn/bbs/redirect.php?goto=findpost&pid=335044&ptid=46748]链接标记[img]http://www.111cn.cn/bbs/images/common/back.gif[/img][/url]
是引用,不过在函数前面加&还真不知道有什么用.
加了&
函数return值为引用
php5默认为引用,不能乱用&,在php5里如果函数直接return false的话,加了&的function就挂了,php将找不到引用的地址
D8888D回贴内容-------------------------------------------------------
LS的我又学到了新东西呀感谢[img]http://www.111cn.cn/bbs/images/smilies/default/victory.gif[/img]
D8888D回贴内容-------------------------------------------------------
原来这样呀