2013-08-22 68 views
0

你好我做一個條件<>,=!,==之間的區別!在PHP

if ($row['ConsignadaCaja'] === 'si' && $row['Estado'] ==! 'I') { 
       $pago = 0; 
} 

,因爲我想

它不工作,所以我嘗試使用

if ($row['ConsignadaCaja'] === 'si' && $row['Estado'] =! 'I') { 
       $pago = 0; 
} 

但它不工作,要麼

最後我試試這個:

if ($row['ConsignadaCaja'] === 'si' && $row['Estado'] <> 'I') { 
       $pago = 0; 
} 

這是工程,但不是爲什麼?

回答

2

==!不是您正在考慮的操作員 - 您在這裏混合兩個操作員。

==checks for equality!logical not operation。所以,你實際上是在執行其中之一,由於operator precedence!大於比較或賦值運算符更高:

if($row['Estado'] = (!'I')) // Assigns the inverted value of 'I' to $row['Estado'] 
if($row['Estado'] == (!'I')) // Compares the inverted value of 'I' to $row['Estado'] 

相反,你應該使用!=!==,這取決於如果你想類型強迫發生在。

請注意,如果您看到<>按預期工作,則與!=運算符相同。

+0

謝謝尼克我犯了一個愚蠢的錯誤 – kilkadg

相關問題