是的,这只是一个我想得到答案的问题。我经历了几次,其中:
if(!$one == $two){ echo "Not the same"; }else{ echo "The same"; }
无效,
if($one == $two){ echo "The same"; }else{ echo "Not the same"; }
会奏效。
为什么有时不起作用?我总是需要像第二个那样重新编码,当第一个不起作用时。
答案 0 :(得分:5)
你需要写
if(!($one == $two))
或
if($one != $two)
从那以后!运算符的优先级高于==运算符。
另请参阅:http://www.php.net/manual/en/language.operators.precedence.php
答案 1 :(得分:5)
!
的{{3}}高于==
所以你应该使用括号:
if(!($one == $two))
答案 2 :(得分:1)
你需要
if(!($one == $two))
这是因为没有括号,它检查$ 1是否为假,然后检查$ 2 == $ 1。以下是没有括号的唯一时间。评估if(true == true)为!$ one = true。
$one = false;
$two = true;
if (!$one == $two)
{
echo "different";
}