任何人都可以解釋爲什麼浮動0是空的?下面的代碼會顯示「怪異」浮動0返回爲空字符串在PHP
$empty = (float)"0";
if($empty == "")
echo "weird";
在另一方面,如果我是下面的代碼,它不會顯示「怪異」。
$empty = (float)"0.01";
if($empty == "")
echo "weird";
任何人都可以解釋爲什麼浮動0是空的?下面的代碼會顯示「怪異」浮動0返回爲空字符串在PHP
$empty = (float)"0";
if($empty == "")
echo "weird";
在另一方面,如果我是下面的代碼,它不會顯示「怪異」。
$empty = (float)"0.01";
if($empty == "")
echo "weird";
這是因爲在PHP中的下列表達式爲真:
0 == ""
0.0 == ""
不因爲$empty
這裏是空字符串""
。
可以執行類型使用===
平等檢查,這些表達式會出現錯誤,如預期:
0 === ""
0.0 === ""
這是不奇怪可言,那是預期。請記住,在PHP中,0
的計算結果爲FALSE,與空字符串一樣。爲了避免這種情況,請使用===
測試嚴格的相等性(a === b的意思是「做a == b並且我將蘋果與蘋果進行比較」,而== b意味着「這些東西是否具有相同的值?」因爲這是比較寬鬆如何在PHP中工作
$empty = (float)"0";
if($empty === "")
echo "weird";
:(不,如果我比較蘋果和山羊關係))
哦好吧知道了..謝謝 – lilsizzo