PHP IN_ARRAY 函數(shù)使用注意事項(xiàng)
更新時(shí)間:2010年07月24日 01:15:32 作者:
其實(shí)關(guān)鍵還是因?yàn)?php是弱類(lèi)型語(yǔ)言,php進(jìn)行比較的時(shí)候 最好還是使用strict方法的。因?yàn)檫@樣不但比較兩者的值是否一直,還會(huì)比較兩者的類(lèi)型是否一直。
另外,我們?cè)?控制結(jié)構(gòu)比較兩個(gè)數(shù)值是否一直的時(shí)候,也應(yīng)該盡量使用 === 來(lái)代替 ==(當(dāng)然,這個(gè)也根據(jù)具體的業(yè)務(wù)邏輯選用比較合適的)。
小弟來(lái)解釋下 為什么
var_dump(in_array(0, array('s' ));
這句話(huà)的結(jié)果是bool(true)。
因?yàn)閕n_array會(huì)將0 和's' 進(jìn)行比較,0是number類(lèi)型,'s'是string類(lèi)型,根據(jù)php manual 中“Comparison Operators” 一章的說(shuō)明可知,number 和string進(jìn)行
比較的時(shí)候,會(huì)先將string類(lèi)型首先轉(zhuǎn)化為number,然后再進(jìn)行比較操作。 's'轉(zhuǎn)化為number的結(jié)果為0,而0 == 0 的結(jié)果是true,所以in_array(0, array('s', 'ss'))的結(jié)果也是true
如果把in_array 的第三個(gè)參數(shù)strict設(shè)置為 true,比較的時(shí)候 就會(huì)判斷值和類(lèi)型是否都相當(dāng)。如果都相當(dāng)?shù)脑?huà),才會(huì)返回true,否則返回false.
僅此為記。
小弟來(lái)解釋下 為什么
var_dump(in_array(0, array('s' ));
這句話(huà)的結(jié)果是bool(true)。
因?yàn)閕n_array會(huì)將0 和's' 進(jìn)行比較,0是number類(lèi)型,'s'是string類(lèi)型,根據(jù)php manual 中“Comparison Operators” 一章的說(shuō)明可知,number 和string進(jìn)行
比較的時(shí)候,會(huì)先將string類(lèi)型首先轉(zhuǎn)化為number,然后再進(jìn)行比較操作。 's'轉(zhuǎn)化為number的結(jié)果為0,而0 == 0 的結(jié)果是true,所以in_array(0, array('s', 'ss'))的結(jié)果也是true
如果把in_array 的第三個(gè)參數(shù)strict設(shè)置為 true,比較的時(shí)候 就會(huì)判斷值和類(lèi)型是否都相當(dāng)。如果都相當(dāng)?shù)脑?huà),才會(huì)返回true,否則返回false.
僅此為記。
您可能感興趣的文章:
- php數(shù)組函數(shù)序列之in_array() 查找數(shù)組值是否存在
- php數(shù)組查找函數(shù)in_array()、array_search()、array_key_exists()使用實(shí)例
- php in_array 函數(shù)使用說(shuō)明與in_array需要注意的地方說(shuō)明
- PHP函數(shù)in_array()使用詳解
- php數(shù)組函數(shù)序列之in_array() - 查找數(shù)組中是否存在指定值
- 遭遇php的in_array低性能問(wèn)題
- 2個(gè)自定義的PHP in_array 函數(shù),解決大量數(shù)據(jù)判斷in_array的效率問(wèn)題
- 使用js判斷數(shù)組中是否包含某一元素(類(lèi)似于php中的in_array())
- 類(lèi)似php的js數(shù)組的in_array函數(shù)自定義方法
- PHP中in_array函數(shù)使用的問(wèn)題與解決辦法
相關(guān)文章
PHP實(shí)現(xiàn)SMTP郵件的發(fā)送實(shí)例
在本篇文章中我們給大家詳細(xì)分享了PHP實(shí)現(xiàn)SMTP郵件的發(fā)送的相關(guān)實(shí)例內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2018-09-09
PHP實(shí)現(xiàn)下載斷點(diǎn)續(xù)傳的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)下載斷點(diǎn)續(xù)傳的方法,通過(guò)自定義函數(shù)來(lái)實(shí)現(xiàn)PHP的斷點(diǎn)續(xù)傳下載方法,涉及文件的常見(jiàn)操作與指針和緩沖的用法,代碼中備有較為詳盡的注釋便于閱讀和理解,需要的朋友可以參考下2014-11-11
淺談PHP 閉包特性在實(shí)際應(yīng)用中的問(wèn)題
PHP5.3 新版本跟隨了很多新特性, 其中比較惹眼的特性之一就是支持了閉包。那么以后,我們也可以和那幫寫(xiě) Ruby、Javascript 等等“高科技語(yǔ)言”的家伙們一樣,寫(xiě)出非??岬拇a嗎?
2009-10-10
PHP中最低級(jí)別的錯(cuò)誤類(lèi)型總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于PHP中最低級(jí)別的錯(cuò)誤類(lèi)型總結(jié)內(nèi)容,對(duì)此有興趣的朋友們可以跟著學(xué)習(xí)下。
2022-01-01
全新Mac配置PHP開(kāi)發(fā)環(huán)境教程
趁著這次加硬盤(pán)的機(jī)會(huì),就準(zhǔn)備徹底重做開(kāi)發(fā)環(huán)境?,F(xiàn)在對(duì)Mac也有了一定的了解,特地記錄一下本次的開(kāi)發(fā)環(huán)境安裝詳情,給自己一個(gè)備忘,希望也可以幫助到剛接觸Mac環(huán)境的同學(xué)們
2016-02-02
PHP連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)簡(jiǎn)單的登錄頁(yè)面功能
這篇文章主要介紹了PHP連接數(shù)據(jù)庫(kù)實(shí)現(xiàn)簡(jiǎn)單的登錄頁(yè)面功能,文中的示例代碼講解詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,感興趣的可以了解一下
2023-09-09
PHP實(shí)現(xiàn)從PostgreSQL數(shù)據(jù)庫(kù)檢索數(shù)據(jù)分頁(yè)顯示及根據(jù)條件查找數(shù)據(jù)示例
這篇文章主要介紹了PHP實(shí)現(xiàn)從PostgreSQL數(shù)據(jù)庫(kù)檢索數(shù)據(jù)分頁(yè)顯示及根據(jù)條件查找數(shù)據(jù)操作,涉及PHP操作PostgreSQL數(shù)據(jù)庫(kù)的SQL條件查詢(xún)、分頁(yè)、顯示等相關(guān)操作技巧,需要的朋友可以參考下
2018-06-06 
