php數(shù)組查找函數(shù)in_array()、array_search()、array_key_exists()使用實例
php在數(shù)組中查找指定值是否存在的方法有很多,記得很久以前我一直都是傻傻的用foreach循環(huán)來查找的,下面我主要分享一下用php內(nèi)置的三個數(shù)組函數(shù)來查找指定值是否存在于數(shù)組中,這三個數(shù)組分別是 in_array(),array_search(),array_key_exists()。
首先分別介紹一下各自的定義與作用
in_array(value,array,type)
該函數(shù)的作用是在數(shù)組array中搜索指定的value值,type是可選參數(shù),如果設置該參數(shù)為 true ,則檢查搜索的數(shù)據(jù)與數(shù)組的值的類型是否相同,即恒等于。
示例:
<?php
$people = array("Peter", "Joe", "Glenn", "Cleveland");
if(in_array("Glenn",$people)){
echo "Match found";
}else{
echo "Match not found";
}
?>
輸出:
Match found
array_key_exists(key,array)
該函數(shù)是判斷某個數(shù)組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!
array_search(value,array,strict)
array_search() 函數(shù)與 in_array() 一樣,在數(shù)組中查找一個鍵值。如果找到了該值,則返回匹配該元素所對應的鍵名。如果沒找到,則返回 false。注意在 PHP 4.2.0 之前,函數(shù)在失敗時返回 null 而不是 false。同樣如果第三個參數(shù) strict 被指定為 true,則只有在數(shù)據(jù)類型和值都一致時才返回相應元素的鍵名。
示例:
<?php
$a=array("a"=>"Dog","b"=>"Cat","c"=>5,"d"=>"5");
echo array_search("Dog",$a);
echo array_search("5",$a);
?>
輸出:
ad
經(jīng)過實際性能對比,在數(shù)據(jù)量不大的時候,比如小于1000,查找用哪一種都行,都不會成為性能上的瓶頸。但當數(shù)據(jù)量比較大的時候,用 array_key_exists 比較合適。據(jù)測試 array_key_exist 要比 in_array 效率高十幾甚至幾十倍。
- PHP中的array數(shù)組類型分析說明
- 類似php的js數(shù)組的in_array函數(shù)自定義方法
- php函數(shù)array_merge用法一例(合并同類數(shù)組)
- php專用數(shù)組排序類ArraySortUtil用法實例
- php數(shù)組(array)輸出的三種形式詳解
- php array_filter除去數(shù)組中的空字符元素
- php數(shù)組函數(shù)序列之a(chǎn)rray_keys() - 獲取數(shù)組鍵名
- php array_flip() 刪除數(shù)組重復元素
- PHP合并數(shù)組+與array_merge的區(qū)別分析
- php數(shù)組函數(shù)序列之a(chǎn)rray_key_exists() - 查找數(shù)組鍵名是否存在
- php in_array() 檢查數(shù)組中是否存在某個值詳解
- PHP數(shù)組array類常見操作示例
相關(guān)文章
Laravel5中實現(xiàn)模糊匹配加多條件查詢功能的方法
這篇文章主要介紹了Laravel5中實現(xiàn)模糊匹配加多條件查詢功能的方法,結(jié)合實例形式分析了Laravel5多條件模糊查詢及相關(guān)封裝操作技巧,需要的朋友可以參考下2018-03-03php 實現(xiàn)301重定向跳轉(zhuǎn)實例代碼
本文主要介紹php 實現(xiàn)301重定向跳轉(zhuǎn),通過實例代碼讓大家更好的理解重定向的方法,有需要的小伙伴可以參考下2016-07-07laravel框架模板之公共模板、繼承、包含實現(xiàn)方法分析
這篇文章主要介紹了laravel框架模板之公共模板、繼承、包含實現(xiàn)方法,結(jié)合實例形式分析了Laravel框架中公共模板的建立、模板包含、模板繼承等相關(guān)操作技巧,需要的朋友可以參考下2019-08-08微信公眾平臺網(wǎng)頁授權(quán)獲取用戶基本信息中授權(quán)回調(diào)域名設置的變動
這篇文章主要介紹了微信公眾平臺網(wǎng)頁授權(quán)獲取用戶基本信息中授權(quán)回調(diào)域名設置的變動,需要的朋友可以參考下2014-10-10