您好,登錄后才能下訂單哦!
這篇文章給大家分享的是php中 === 和 == 的區別,如果你剛好也有這個困惑,不妨參照這篇文章。閱讀完整文相信大家能解決這個問題。
比較運算符 == (相等運算符) 和 === (恒等運算符) 用于比較兩個值。他們也被稱為 寬松等于 (==) 和 嚴格等于 (===) 運算符。
符號 | 名稱 | 例子 | 輸出結果 |
---|---|---|---|
== | 等于 | $a == $b | 忽略類型,如果 $a 等于 $b 則為 TRUE |
=== | 恒等于 | $a === $b | 如果 $a 等于 $b,并且類型相同則為 TRUE |
PHP 運算符 PHP中有很多運算符, 但 == 和 === 運算符嚴格或隨意執行類似的任務。
相等運算 == 比較兩個值時會臨時轉換數據類型,而 === (全等運算符)不需要執行任何類型轉換,因此計算量減少,速度也更快。
案例 1:
<?php // 0 == 0 -> 類型相同返回 true // 轉換完成,然后 // 檢查是否相等 var_dump(0 == "a"); // 1 == 1 -> true var_dump("1" == "01"); // 10 == 10 -> true var_dump("10" == "1e1"); // 100 == 100 -> true var_dump(100 == "1e2"); // 0 === "a" -> 這種情況為 false // 轉換不僅完成 // 還檢查是否存在 // 是否相等 var_dump(0 === "a"); // "1" === "01" -> false var_dump("1" === "01"); // "10" === "1e1" -> false var_dump("10" === "1e1"); // 100 == "1e2" -> false var_dump(100 === "1e2"); switch ("a") { case 0: echo "In first case"; break; // 永遠不會匹配 "a" 選項 // 因為 switch 使用的是 == case "a": echo "In sceond case"; break; } ?>
輸出:
bool(true)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
bool(false)
bool(false)
In first case
案例 2:
<?php // TRUE - 以下表達式等同于 (bool)1 == TRUE var_dump(1 == TRUE); // TRUE - 以下表達式等同于 (bool)0 == FALSE var_dump(0 == FALSE); // FALSE - 1 不全等于 TRUE // 1 是整形, TRUE 是布爾型 var_dump(1 === TRUE); // FALSE - 0 不全等于 FALSE // 0 是整形, FALSE 是布爾型 var_dump(0 === FALSE); ?>
輸出:
bool(true)
bool(true)
bool(false)
bool(false)
注意: === 運算符‘類型比較相對安全’, 僅當兩個值具有相同的類型和值時才會返回 TRUE, 使用 == 時,值相等就會返回 TRUE。
看完上述內容,你們對php中 === 和 == 的區別大概了解了嗎?如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。