首頁 >後端開發 >php教程 >PHP中的===運算子為什麼比==快?

PHP中的===運算子為什麼比==快?

藏色散人
藏色散人原創
2021-08-30 10:16:553520瀏覽

在上一篇《我來告訴你PHP中require_once()為什麼不好用! 》中跟大家介紹了PHP中require_once()為什麼不好用的原因,有興趣的朋友可以去閱讀了解一下~

那麼本文將介紹給大家PHP中的===運算子為什麼比==

PHP中的===和==運算符,這兩個運算子屬於PHP中的比較運算子。

===運算子稱為絕對等於==運算子稱為等於

語法範例:

$a == $b,如果在型別轉換後$a 等於$b,則為TRUE;

$a === $b,如果$a 等於$b,且兩者的型別相同,則為TRUE;

  • 如果運算元的型別不同,那麼= =和===將產生不同的結果。在這種情況下,操作符的速度會有所不同,因為==將執行類型轉換,然後進行比較。

  • 如果運算元是相同類型的,那麼==和===將產生相同的結果。在這種情況下,這兩個操作符的速度幾乎相同,因為任何操作符都不執行類型轉換。

==運算元會暫時轉換資料類型,以查看其值是否等於另一個運算元,而===不需要進行任何型別轉換,因此完成的工作較少,這也就使得它比==操作符快。

程式碼範例1:

<?php


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");


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 "第一种情况";
        break;

    case "a":
        echo "第二种情况";
        break;
}

輸出:

boolean true
boolean true
boolean true
boolean true
boolean false
boolean false
boolean false
boolean false
第一种情况

程式碼範例2:
# #

<?php

var_dump(1 == TRUE);

var_dump(0 == FALSE);

var_dump(1 === TRUE);

var_dump(0 === FALSE);

輸出:

boolean true
boolean true
boolean false
boolean false

注意: === 運算子執行“類型安全比較”,僅當兩個操作數具有相同的類型和值時它才會返回true,而如果只比較值就可以使用==。

最後推薦給大家最新、最全面的《

PHP影片教學》~快來學習吧!

以上是PHP中的===運算子為什麼比==快?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn