今天團隊項目有個bug比較隱蔽,測試的參數的結果不同,後來斷點發現是"=="惹出的問題。
對於php新手,很多時候"=="會莫名失效,造成判斷錯誤,這裏做一個"=="與"==="的總結。
1、"==" 是一個操作符,比較兩個變量的值,不比較數據類型。
2、"===" 比較兩個變量的值和類型。判斷更加嚴格。
example01:
$a = '123';
$b = 123;
var_dump($a === $b); //false;
var_dump($a == $b); //true
example02:
var_dump(0 == 1); // false
var_dump(0 == (bool)'all'); // false
var_dump(0 == 'all'); // TRUE, take care
var_dump(0 === 'all'); // false