我有一个脚本,通过$ ErrorCode = 0x1或0x2或0x4或0x8 ...
这段代码正在给我正确的状态msg:
<div class="left_content">Submit:</div>
<div class="right_content">
<?php echo ($errorCode & 0x1) != 0x1
? "<span class='green'>Ok</span>"
: "<span class='red'>Fail</span>"; ?>
</div>
但是我尝试用这个来改变代码,但这段代码的状态msg一直都是“Ok”即使失败
if(($errorCode & 0x1) != 0x1 )
{
$Error_0x1 = "<span class='green'>Ok</span>";
} else
{
$Error_0x1 = "<span class='red'>Fail</span>";
}
我做错了什么?
答案 0 :(得分:1)
查看您的代码,我想念的只是实际的echo $Error_0x1;
和周围的HTML代码。
所以这应该是你的整个代码:
<?php
if(($errorCode & 0x1) != 0x1 )
{
$Error_0x1 = "<span class='green'>Ok</span>";
} else
{
$Error_0x1 = "<span class='red'>Fail</span>";
}
?>
<div class="left_content">Submit:</div>
<div class="right_content">
<?php echo $Error_0x1; ?>
</div>
顺便说一下...... 0x1只是意味着1是二进制格式。
$ errorCode&amp; 0x1实际上是看$ errorCode的哪些位与0x1(二进制1)的位重叠。在这种情况下,如果是奇数,则返回1,如果是偶数,则返回0。
163: 10100011
0x1: 00000001 &
---------------
00000001
因此,如果$ errorCode为163,您的代码现在会显示if( (1) != 1)
。所以它应该读取失败。如果没有,请查看您是否将重写的代码放在错误的位置,或者变量尚未设置或者某些内容......
答案 1 :(得分:-1)
if(($errorCode != '0x1' )
{
$Error_0x1 = "<span class='green'>Ok</span>";
} else
{
$Error_0x1 = "<span class='red'>Fail</span>";
}
这应该可以解决问题。
如果它不起作用,请尝试将'0x1'
替换为0x1