程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 深入PHP中慎用雙等於(==)的詳解

深入PHP中慎用雙等於(==)的詳解

編輯:PHP綜合

PHP比較運算符出現的頻率實在是太高了,尤其是 ==
if(a == b){
// do something
}
但是,你真的掌握了 == 了嗎?細節很重要!
來看下面的代碼,說出你認為正確的答案
var_dump('  123fg456'==123);
var_dump('some string' == 0);
var_dump(123.0 == '123d456');
var_dump(0 == "a");
var_dump("1" == "01");
var_dump("1" == "1e0");
先想出你的答案,然後再運行一次看看。如果答案沒有差錯,那麼恭喜你,基礎知識很扎實。

解釋:
如果比較一個整數和字符串,則字符串會被轉換為整數。如果比較兩個數字字符串,則作為整數比較。此規則也適用於 switch 語句。
特別注意,字符串轉換為整數時,是從左到右,直到遇到非數字字符為止。也就是說 '123abc456' 會被轉換成 123,而不是 123456。另外字符串開始的空格會被忽略,比如 '   234abc' 轉換為 234。
下面附上松散比較和嚴格比較的對照表
松散比較與嚴格比較對照表

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved