成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

in_array函數(shù)使用問(wèn)題記錄

Sleepy / 745人閱讀

摘要:官方函數(shù)定義需要查找的元素被查找的數(shù)組如果該參數(shù)設(shè)置為,則會(huì)使用嚴(yán)格比較模式去尋找元素。也就是說(shuō),在查找時(shí),不僅比對(duì)要查找的元素與數(shù)組元素的值,還會(huì)比對(duì)其類(lèi)型。在忽略第三個(gè)參數(shù)的情況下,文章開(kāi)頭的問(wèn)題輸出會(huì)是。

  本文首發(fā)地址為hilsion的博客

  以下代碼,你覺(jué)得會(huì)輸出true還是false?

1 

  今天在調(diào)試代碼的時(shí)候發(fā)現(xiàn)一個(gè)關(guān)于in_array的錯(cuò)誤使用方式導(dǎo)致的一個(gè)bug。在PHP中,數(shù)組是一個(gè)十分強(qiáng)大的數(shù)據(jù)結(jié)構(gòu),官方提供了特別多的數(shù)組操作函數(shù),in_array()是比較常用的一個(gè),我們經(jīng)常會(huì)用它來(lái)判斷數(shù)組中是否包含某個(gè)元素。但我們可能會(huì)在使用時(shí)忽略掉該函數(shù)的第三個(gè)參數(shù)而導(dǎo)致一類(lèi)bug的產(chǎn)生。
  官方函數(shù)定義:

in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
: bool

  needle

需要查找的元素

  haystack

被查找的數(shù)組

  strict

如果該參數(shù)設(shè)置為true,則會(huì)使用嚴(yán)格比較模式去尋找元素。也就是說(shuō),在查找時(shí),不僅比對(duì)要查找的元素與數(shù)組元素的值,還會(huì)比對(duì)其類(lèi)型。默認(rèn)為false。

  在忽略第三個(gè)參數(shù)的情況下,文章開(kāi)頭的問(wèn)題輸出會(huì)是true。因?yàn)槲词褂脟?yán)格比較,那么函數(shù)在處理字符串與數(shù)字的比較時(shí)會(huì)嘗試將字符串轉(zhuǎn)換為整形/浮點(diǎn)型來(lái)做比較,比如"12ax"會(huì)轉(zhuǎn)換為12。那么,上面的‘06’則會(huì)轉(zhuǎn)換為6,因此輸出為true。
  而一開(kāi)始自己并未注意到該函數(shù)具備第三個(gè)參數(shù)的設(shè)置,導(dǎo)致無(wú)論如何都得不到自己想要的結(jié)果

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30993.html

相關(guān)文章

  • 記錄一次敏感信息脫敏的過(guò)程

    摘要:背景在公司入職,老大讓我去做數(shù)據(jù)脫敏,通過(guò)調(diào)用運(yùn)維組的數(shù)據(jù)脫敏接口,保證用戶(hù)的敏感的信息不落地。公司項(xiàng)目主要使用和版本。 背景: 在A公司入職,老大讓我去做數(shù)據(jù)脫敏,通過(guò)調(diào)用運(yùn)維組的數(shù)據(jù)脫敏接口,保證用戶(hù)的敏感的信息不落地。公司項(xiàng)目主要使用laravel5.1 和 YII1.1 版本。 具體方案: 敏感信息字段的調(diào)用存在與代碼中的各個(gè)角落,如果手動(dòng)對(duì)每一個(gè)地方的代碼都去擼一邊,所需要耗...

    duan199226 評(píng)論0 收藏0
  • upload-labs 文件上傳靶機(jī)闖關(guān)記錄

    摘要:由于上傳后文件后綴仍為,服務(wù)器仍將該上傳文件以解析。文件是服務(wù)器中的一個(gè)配置文件,它負(fù)責(zé)相關(guān)目錄下的網(wǎng)頁(yè)配置。文件流實(shí)際應(yīng)用文件系統(tǒng)包括對(duì)備用數(shù)據(jù)流的支持。在中,此默認(rèn)數(shù)據(jù)流稱(chēng)為。 靶機(jī)搭建 推薦使用Windows系統(tǒng)搭建,我最先使用docker pull c0ny1/upload-labs的鏡像在Pass-03遇到問(wèn)題,初步判斷是該鏡像內(nèi)的php.conf文件配置錯(cuò)誤導(dǎo)致。 下載地...

    宋華 評(píng)論0 收藏0
  • PHP 中 in_array 需要注意的一點(diǎn)

    摘要:示例先來(lái)看一個(gè)小示例輸出為解釋根據(jù)官方文檔函數(shù)的描述在中搜索,如果沒(méi)有設(shè)置則使用寬松的比較。第三個(gè)參數(shù)默認(rèn)為,當(dāng)和中的元素比較時(shí)會(huì)進(jìn)行類(lèi)型轉(zhuǎn)換,相當(dāng)于使用進(jìn)行比較。值為默認(rèn)值時(shí),相當(dāng)于,值為時(shí),相當(dāng)于。 示例 先來(lái)看一個(gè)小示例: $needle = 1abc; $haystack = array(1,2,3); var_dump(in_array($needle, $haystack)...

    Zack 評(píng)論0 收藏0
  • 寫(xiě)一個(gè)“特殊”的查詢(xún)構(gòu)造器 - (四、條件查詢(xún):復(fù)雜條件)

    摘要:復(fù)雜的條件在的條件查詢(xún)中,不只有這些基本的子句,還有等復(fù)雜一些的子句。這篇我們就來(lái)講一下查詢(xún)構(gòu)造器如何構(gòu)造這些復(fù)雜的查詢(xún)語(yǔ)句。 復(fù)雜的條件 在 SQL 的條件查詢(xún)中,不只有 where、or where 這些基本的子句,還有 where in、where exists、where between 等復(fù)雜一些的子句。而且即使是 where 這種基礎(chǔ)的子句,也有多個(gè)條件的多種邏輯組合。這篇...

    baoxl 評(píng)論0 收藏0
  • php函數(shù)之?dāng)?shù)組

    摘要:關(guān)聯(lián)數(shù)組變量是否已設(shè)置并且非。返回?cái)?shù)組所有值。成功返回失敗返回原數(shù)組值需要能作為合法鍵名需要是或。內(nèi)部指針數(shù)組分段棧隊(duì)列回調(diào)函數(shù)排序計(jì)算數(shù)組生成其他 關(guān)聯(lián)數(shù)組 isset bool isset( mixed $val [, mix $...]) 變量是否已設(shè)置并且非null。多個(gè)參數(shù)從左到右計(jì)算。 判斷null $a=null;var_dump(isset($a));bool(fal...

    happyhuangjinjin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<