当前位置:Gxlcms > PHP教程 > 咨询一个PHP&操作的问题

咨询一个PHP&操作的问题

时间:2021-07-01 10:21:17 帮助过:23人阅读

其中 os_type为3 os_rs['app_key'] 为134217728也就是 16进制的 8000000

echo "#########"."
";
echo $os_type." ".$os_rs['app_key']."
";
echo ($os_type)&($os_rs['app_key']); ==》结果是1
echo "
";
echo (3)&($os_rs['app_key']); ===》 结果为0 是正常的
echo "
";
echo (268435455)&($os_rs['app_key']); ===》 结果为 134217728 也正常
echo "
";
echo $os_type&134217728; ===》 结果为0 是正常的
echo "
";

echo "";
echo " if($flag != 0)
echo "checked=\"checked\" ";
echo ">";
echo "$app_str";
echo "";
echo "";


奇怪的是为什么2个变量&操作的结果为1,是不是涉及了符号的问题


回复讨论(解决方案)

$os_type = 3;$os_rs['app_key'] = 134217728;var_dump( $os_type & $os_rs['app_key'] );
int(0)

$os_type = 3;$os_rs['app_key'] = 134217728;var_dump( $os_type & $os_rs['app_key'] );
int(0)

情况比想象的要负责一点,在{}内赋值和{}外赋值结果还不一样

我???行是0的。

echo ($os_type)&($os_rs['app_key']); //0

还有什么复杂情况,你说出来看看

人气教程排行