为什么这个PHP不起作用但会以这种方式工作?

时间:2010-10-07 11:51:25

标签: php

if ($sess_uid == $WallID)
{
//
}
else
{
Run Action
}

作品 但

if (!$sess_uid == $WallID)
{
Run Action
}

不工作。为什么是这样?如果两个ID都不匹配,我希望代码能够启动。

4 个答案:

答案 0 :(得分:5)

!的{​​{3}}高于==

!a==b被视为(!a) == b

您需要的是!(a==b),与a != b

相同

答案 1 :(得分:4)

此:

if (!$sess_uid == $WallID)
{
    Run Action
}

等同于:

if ( (!$sess_uid) == ($WallID))
{
    Run Action
}

虽然你想要:

if (!($sess_uid == $WallID))
{
    Run Action
}

答案 2 :(得分:1)

您正在使用一元运算符!它只对值$ sess_uid进行操作。所以你要否定$ sess_uid的价值。 您可能正在寻找的是使用!=而不是。

if (!$sess_uid != $WallID){ Run Action }

答案 3 :(得分:0)

if (!$sess_uid == $WallID) don't equals if ($sess_uid !== $WallID)