這次帶給大家php數組查找函數使用方法匯總,php數組查找函數使用的注意事項有哪些,下面就是實戰案例,一起來看一下。
php在數組中查找指定值是否存在,一直都用foreach循環來查找的。
有更好的方法,可以使用php內建的三個陣列函數來找出指定值是否存在於陣列中,這三個陣列分別是in_array(),array_search(),array_key_exists()。
以下介紹了這三個php陣列函數各自的定義與作用。
一,php陣列尋找函數in_array(value,array,type)
此函數的作用是在陣列array中搜尋指定的value值,type是可選參數,如果設定該參數為true ,則檢查搜尋的資料與陣列的值的類型是否相同,即恆等於。
<?php $people = array("Peter", "Joe", "Glenn", "Cleveland"); if(in_array("Glenn",$people)){ echo "Match found"; }else{ echo "Match not found"; } ?>
#輸出:
Match found
二,php陣列查找函數array_key_exists(key,array)
此函數是判斷某個陣列array中是否有指定的key,如果該key 存在,則傳回true,否則傳回false。
<?php $a=array("a"=>"Dog","b"=>"Cat"); if(array_key_exists("a",$a)){ echo "Key exists!"; }else{ echo "Key does not exist!"; } ?>
#輸出:
Key exists!
三,php陣列查找函數array_search(value,array,strict)
array_search() 函數與in_array() 一樣,在陣列中找一個鍵值。如果找到了該值,則傳回符合該元素所對應的鍵名。如果沒找到,則傳回 false。注意在 PHP 4.2.0 之前,函數在失敗時傳回 null 而不是 false。同樣如果第三個參數 strict 被指定為 true,則只有在資料型別和值都一致時才傳回對應元素的鍵名。
<?php $a=array("a"=>"Dog","b"=>"Cat","c"=>5,"d"=>"5"); echo array_search("Dog",$a); echo array_search("5",$a); ?>
輸出:
ad
經過實際效能對比,在資料量不大的時候,例如小於1000,查找用哪一種都行,都不會成為效能上的瓶頸。
但當資料量比較大的時候,用 array_key_exists 比較適合。
據測試 array_key_exist 比 in_array 效率高出十幾倍。
相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是php數組查找函數使用方法匯總的詳細內容。更多資訊請關注PHP中文網其他相關文章!