2010-06-03 71 views
1
if(0 == ('Pictures')) 
{ 
    echo 'true'; 
} 

爲什麼它給我'真'?PHP比較疑問

+1

http://php.net/manual/en/language。 operators.comparison.php – nuqqsa 2010-06-03 10:05:12

回答

2

檢查PHP type comparison tables瞭解比較運營商在PHP中如何表現。

在你的情況, '圖片' 變爲 「0」,因此0 = 0

讓我們來看看下面的例子:

echo (int)'Pictures'; // 0 => 'Picture' as int 
echo 0 == 'Pictures'; // 1 => true, 0 = 0 
3

你的字符串將被評估爲一個整數,所以變爲0時,使用這樣的:0 === 'Pictures'用於驗證身份(相同值和相同類型)

0

使用:

if (0 === 'Pictures') 
{ 
    echo 'true'; 
} 

===是嚴格的類型操作,它不僅檢查值,而且檢查類型。

快速測試:

if(0 == 'Pictures') 
{ 
    echo 'true'; 
} 
else 
{ 
    echo 'false'; 
} 

輸出true但:

if(0 === 'Pictures') 
{ 
    echo 'true'; 
} 
else 
{ 
    echo 'false'; 
} 

輸出false