成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

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

Sleepy / 758人閱讀

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

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

  以下代碼,你覺得會輸出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)常會用它來判斷數(shù)組中是否包含某個(gè)元素。但我們可能會在使用時(shí)忽略掉該函數(shù)的第三個(gè)參數(shù)而導(dǎo)致一類bug的產(chǎn)生。
  官方函數(shù)定義:

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

  needle

需要查找的元素

  haystack

被查找的數(shù)組

  strict

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

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

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

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/30993.html

相關(guān)文章

  • 記錄一次敏感信息脫敏的過程

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

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

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

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

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

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

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

    baoxl 評論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 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<