php比較運算子出現的頻率實在是太高了,尤其是 ==
if(a == b)
但是,你真的掌握了 == 了嗎?細節很重要!
來看下面的**,說出你認為正確的答案
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。
下面附上鬆散比較和嚴格比較的對照表
例子:var_dump('0e22' == '0e23'); 返回true
var_dump( '0e462097431906509019562988736854' == '0e830400451993494058024219903391'); 返回true
注意:如果比較兩個數字字串,則作為整數比較
深入PHP中慎用雙等於 的詳解
php比較運算子出現的頻率實在是太高了,尤其是 if a b 但是,你真的掌握了 了嗎?細節很重要!來看下面的 說出你認為正確的答案 var dump 123fg456 123 var dump some string 0 var dump 123.0 123d456 var dump 0 a va...
深入PHP 雙等號 詳解
php比較運算子出現的頻率實在是太高了,尤其是 if a b 但是,你真的掌握了 了嗎?細節很重要!來看下面的 說出你認為正確的答案 var dump 123fg456 123 var dump some string 0 var dump 123.0 123d456 var dump 0 a va...
深入php中var dump方法的使用詳解
首先看看例項 複製 如下 php a alsdflasdf a b var dump a echo var dump c d var dump c echo echo a echo echo b echo 輸出 string 12 alsdflasdf awww.cppcns.com null al...