2014-03-14 110 views

回答

7

這是因爲這裏是一個整數,並且當它是相對於字符串1,2,這個字符串將被強制轉換爲整數,它返回。

如何鑄造一個字符串1,2返回1?

echo int('1,2'); // prints 1 

所以當它是相對於你的,這將是你的var_dump

從PHP文件..(基本對比測試)顯然返回true

如果您將數字與字符串進行比較或比較涉及數字字符串,然後將每個字符串轉換爲數字,並以數字方式執行比較。

Source

4
  1. 它解釋爲:

    var_dump(1 === (int) '1,2'); 
    
  2. "1,2"鑄造到int將返回1,因爲任何東西后最後的解析數位(在這種情況下,2)被板缺掉。

  3. 記住,逗號(,)不是一個小數點分離器,點(.)爲:

    var_dump((float) '1,3', (float) '1.3'); 
    

    結果:

    (float) 1 
    (float) 1.3 
    

鑄件可以是通常很不直觀,這就是爲什麼你應該幾乎總是使用=== operato r,它不會創建表演。

4

如果使用==,PHP將輸入右邊的值轉換爲左側值。 在這種情況下,'1,2'將被類型轉換爲1並返回true。

即使var_dump(1== "1dfuiekjdfdsfdsfdsfdsfsdfasfsadf");也會返回true。

相關問題