聊聊PHP中的 === 運(yùn)算符為什么比 == 快
在上一篇《聊聊PHP中require_once()函數(shù)為什么不好用》中給大家介紹了PHP中require_once()為什么不好用的原因,感興趣的朋友可以去閱讀了解一下~
那么本文將給大家介紹PHP中的===
運(yùn)算符為什么比==
快?
PHP中的===和==運(yùn)算符,這兩個(gè)運(yùn)算符屬于PHP中的比較運(yùn)算符。
===
運(yùn)算符稱(chēng)為絕對(duì)等于
,==
運(yùn)算符稱(chēng)為等于
。
語(yǔ)法示例:
$a == $b
,如果在類(lèi)型轉(zhuǎn)換后 $a 等于 $b,則為 TRUE;
$a === $b
,如果 $a 等于 $b,并且兩者的類(lèi)型相同,則為 TRUE;
-
如果操作數(shù)的類(lèi)型不同,那么==和===將產(chǎn)生不同的結(jié)果。在這種情況下,操作符的速度會(huì)有所不同,因?yàn)?=將執(zhí)行類(lèi)型轉(zhuǎn)換,然后進(jìn)行比較。
-
如果操作數(shù)是相同類(lèi)型的,那么==和===將產(chǎn)生相同的結(jié)果。在這種情況下,這兩個(gè)操作符的速度幾乎相同,因?yàn)槿魏尾僮鞣疾粓?zhí)行類(lèi)型轉(zhuǎn)換。
==操作符會(huì)臨時(shí)轉(zhuǎn)換數(shù)據(jù)類(lèi)型,以查看其值是否等于另一個(gè)操作數(shù),而===不需要進(jìn)行任何類(lèi)型轉(zhuǎn)換,因此完成的工作更少,這也就使得它比==操作符快。
代碼示例1:
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:
var_dump(1 == TRUE); var_dump(0 == FALSE); var_dump(1 === TRUE); var_dump(0 === FALSE);
輸出:
boolean true
boolean true
boolean false
boolean false
注意: === 運(yùn)算符執(zhí)行“類(lèi)型安全比較”,僅當(dāng)兩個(gè)操作數(shù)具有相同的類(lèi)型和值時(shí)它才會(huì)返回 true,而如果只比較值就可以使用==。
到此這篇關(guān)于聊聊PHP中的 === 運(yùn)算符為什么比 == 快的文章就介紹到這了,更多相關(guān)PHP === ==內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
PHP中define() 與 const定義常量的區(qū)別詳解
這篇文章主要介紹了PHP中define() 與 const定義常量的區(qū)別,結(jié)合實(shí)例形式分析了php中使用define()與const定義常量的具體使用原理、技巧與相關(guān)用法區(qū)別,需要的朋友可以參考下2019-06-06Mac下關(guān)于PHP環(huán)境和擴(kuò)展的安裝詳解
今天小編就為大家分享一篇Mac下關(guān)于PHP環(huán)境和擴(kuò)展的安裝詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10PHP調(diào)試函數(shù)和日志記錄函數(shù)分享
這篇文章主要介紹了PHP調(diào)試函數(shù)和日志記錄函數(shù)分享,本文分享的函數(shù)都是自己項(xiàng)目中使用的,需要的朋友可以參考下2015-01-01PHP sleep()函數(shù), usleep()函數(shù)
這篇文章主要介紹了PHP sleep()函數(shù), usleep()函數(shù),需要的朋友可以參考下2016-08-08php mysql procedure實(shí)現(xiàn)獲取多個(gè)結(jié)果集的方法【基于thinkPHP】
這篇文章主要介紹了php mysql procedure實(shí)現(xiàn)獲取多個(gè)結(jié)果集的方法,基于thinkPHP實(shí)現(xiàn)針對(duì)數(shù)據(jù)庫(kù)多個(gè)結(jié)果集的相關(guān)操作技巧,需要的朋友可以參考下2016-11-11phpexcel導(dǎo)出excel的顏色和網(wǎng)頁(yè)中的顏色顯示不一致
關(guān)于phpexcel導(dǎo)出顏色的一些問(wèn)題,用phpexcel做導(dǎo)出的excel的顏色怎么和網(wǎng)頁(yè)中的顏色顯示不一致呢,接下來(lái)將詳細(xì)介紹解決方法2012-12-12