日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > php 查找數(shù)組值程序

php 查找數(shù)組值程序

來源:程序員人生   發(fā)布時間:2013-11-10 08:44:02 閱讀次數(shù):4078次
 

在php中查找數(shù)組中指定值的方法有很多,下面我來介紹php中數(shù)組查找函數(shù)in_array(),array_key_exists(),array_search()用法

查找一個元素是否在數(shù)組中,一共有上面三種做法:

in_array  '函數(shù)在數(shù)組中搜索給定的值.in_array(value,array,type)type 可選.如果設(shè)置該參數(shù)為 true,則檢查搜索的數(shù)據(jù)與數(shù)組的值的類型是否相同.

array_key_exists 'array_key_exists() 函數(shù)判斷某個數(shù)組中是否存在指定的 key,如果該 key 存在,則返回 true,否則返回 false.array_key_exists(key,array)Example #1 array_key_exists() 例子

實例代碼如下:

  1. $search_array = array('first' => 1, 'second' => 4); 
  2. if (array_key_exists('first'$search_array)) { 
  3.     echo "The 'first' element is in the array"
  4. ?> 

Example #2 array_key_exists() 與 isset() 的對比isset() 對于數(shù)組中為 NULL 的值不會返回 TRUE,而 array_key_exists() 會.

實例代碼如下:

  1. $search_array = array('first' => null, 'second' => 4); 
  2. // returns false 
  3. isset($search_array['first']); 
  4. // returns true 
  5. array_key_exists('first'$search_array); 
  6. ?> 

mixed array_search ( mixed $needle, array $haystack [, bool $strict] )第一個參數(shù)是需要查找的值,第二個參數(shù)是數(shù)組,最后一個參數(shù)是指查找的時候是否檢查數(shù)據(jù)類型是否相同.

實例代碼如下:

  1. $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); 
  2. echo array_search("Dog",$a); 
  3. ?> 
  4. $a=array("a"=>"5","b"=>5,"c"=>"5"); 
  5. echo array_search(5,$a,true); 
  6. ?> 

上述代碼將輸出下面的結(jié)果:

b

從這里來看,在數(shù)據(jù)量不大的時候,比如小于1000,查找用哪一種都行,都不會成為瓶頸;

當(dāng)數(shù)據(jù)量比較大的時候,用array_key_exists比較合適.當(dāng)然這里array_key_exists占用的內(nèi)存比較大,經(jīng)測算數(shù)組結(jié)構(gòu)是: array(1, 2, 3, ..)和 array(1 => true, 2 => false, ..)

他們內(nèi)存使用比值為1:2;

注意:array_key_exist,要比in_array效率高十幾甚至幾十倍一個簡單的算法.假設(shè)數(shù)組有1000個元素,鍵值為小于1000000的無序的正整數(shù),且不連續(xù),如下

$arr = array(1 => 'sadas', 20 => 'aasd', 5002 => 'fghfg', 190023 => 'rty', 248 => 'kj', 76 => 'sddd' ,...);

現(xiàn)在要獲取數(shù)組$arr中鍵的值大于500小于600的元素,不用foreach完全循環(huán)一遍的話是否有更高效的算法?

實例代碼如下:

  1. $result = array(); 
  2. for($i = 501; $i < 600; $i++) { 
  3.     if(!isset($arr[$i])) continue
  4.     $result[] = $arr[$i]; 

 

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 蜜桃二区 | 视频一区二区三区在线观看 | 国产成年在线 | 久久久久免费精品 | 精品中文字幕一区二区三区 | 欧美视频亚洲视频 | 在线亚洲自拍 | 操人视频免费 | 日日lu| 日韩一区二区三区免费视频 | 精品2区 | 国产精品久久久久久久久久久免费看 | 男女爱爱免费视频 | 亚洲欧美在线播放 | 精品九九| 国产美女视频 | 一区二区免费 | 在线免费看毛片 | 欧美精品久久 | 综合一区二区三区 | 不卡中文字幕av | 曰本一区二区三区 | 成人99 | 国产精品久久久久久久久 | 高清国产一区二区三区 | 密桃av| 国产一区二区三区在线免费观看 | 久久精品这里热有精品 | 久久精品国产一区 | 亚洲精品视频自拍 | 欧美综合在线视频 | 欧美亚洲国产精品 | 欧洲精品码一区二区三区免费看 | 精品一区二区电影 | 国产成人免费片在线观看 | 亚洲国产第一页 | 免费成人一级片 | wwww.国产| 伊人中文 | 欧美日韩国 | 久久精品国产亚洲一区二区三区 |