首頁 >後端開發 >php教程 >php數組查找函數使用方法匯總

php數組查找函數使用方法匯總

php中世界最好的语言
php中世界最好的语言原創
2018-05-21 10:12:033271瀏覽

這次帶給大家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中文網其它相關文章!

推薦閱讀:

yii框架透過控制台指令建立定時任務步驟詳解

yii框架表單模型以陣列形式提交表單步驟詳解

以上是php數組查找函數使用方法匯總的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn