2016-04-24 68 views
-2

我一直在試圖製作一個系統,其中MySQL數據庫中的某些標誌用php進行檢查。要查看某個字母是否在字符串中,我使用功能strpos()。如果我檢查的字母恰好是字符串中的第一個字符,函數返回0.但是,此結果似乎與false的布爾值同義。我用下面的代碼測試了這個理論:PHP 0 vs False ambiguity

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

低,看看這個評估爲真,並回聲塊內的輸出。那麼,有沒有一種合乎邏輯的方式來區分索引爲0的字符或根本不屬於字符串的一部分?發生在我身上的一個選擇是基本上將標誌字符串與一些像下劃線一樣的字符加在一起。這樣,在函數的返回值的索引0處不會有有意義的字符。這看起來像是一種非常骯髒的修補方法。如果您有任何其他想法,我將非常感謝您的幫助。 感謝您的閱讀。

+0

你爲什麼不增加只是簡單的'1'你'strpos'輸出! –

+0

該手冊是一個很好的資源,它顯示了你可以從鬆散/嚴格比較中得到的表格:http://php.net/manual/en/types.comparisons.php – JimL

+0

嗯@UmairShahYousafzai:'echo(false + 1 );' – AbraCadaver

回答

1

使用===

if(0 === false){ 
    // will never be true 
    echo 'true'; 
} 
相關問題