是的,這只是我想獲得答案的一個問題。我經歷過了幾次,在此:
if(!$one == $two){ echo "Not the same"; }else{ echo "The same"; }
不會工作,
if($one == $two){ echo "The same"; }else{ echo "Not the same"; }
會工作。
爲什麼有時它不工作?當第一個不起作用時,我總是需要像第二個那樣重新編碼。
是的,這只是我想獲得答案的一個問題。我經歷過了幾次,在此:
if(!$one == $two){ echo "Not the same"; }else{ echo "The same"; }
不會工作,
if($one == $two){ echo "The same"; }else{ echo "Not the same"; }
會工作。
爲什麼有時它不工作?當第一個不起作用時,我總是需要像第二個那樣重新編碼。
!
是具有較高precedence
比==
所以你應該使用括號:
if(!($one == $two))
你需要寫
if(!($one == $two))
或
if($one != $two)
自
!運算符的優先級高於==運算符。
參見:http://www.php.net/manual/en/language.operators.precedence.php
你需要
if(!($one == $two))
這是因爲如果沒有括號,它正在檢查$ one是否爲假,然後檢查$ two == $ one。以下是唯一一次沒有括號的情況下工作。評估爲if(true == true)as!$ one = true。
$one = false;
$two = true;
if (!$one == $two)
{
echo "different";
}