多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > php中數組的搜索程序代碼

php中數組的搜索程序代碼

來源:程序員人生   發布時間:2014-01-07 09:43:37 閱讀次數:2714次

在php中簡單數據搜索很簡單我們直接使用in_array() 函數在數組中搜索給定的值即可,這種是簡單的一維數據,例如下代碼:

  1. <?php 
  2. $people = array("Peter""Joe""Glenn""Cleveland"); 
  3. if (in_array("Glenn",$people)) 
  4.   { 
  5.   echo "Match found"
  6.   } 
  7. else 
  8.   { 
  9.   echo "Match not found"
  10.   } 
  11. ?> 

輸出:Match found。

array_key_exists()函數

如果在一個數組中找到一個指定的鍵,函數array_key_exists()返回true,否則返回false,其形式如下:

boolean array_key_exists(mixed key,array array);

下面的例子將在數組鍵中搜索apple,如果找到,將輸出這個水果的顏色,代碼如下:

  1. $fruit["apple"] = "red";  
  2.  $fruit["banana"] = "yellow";  
  3.  $fruit["pear"] = "green";  
  4.  if(array_key_exists("apple"$fruit)){  
  5.   printf("apple's color is %s",$fruit["apple"]);  
  6.  } 

執行這段代碼得到的結果:apple's color is red

array_search()函數,代碼如下:

  1. $fruits["apple"] = "red"
  2. $fruits["banana"] = "yellow"
  3. $fruits["watermelon"]="green"
  4. $founded = array_search("green"$fruits); 
  5. if($founded)  
  6.  printf("%s was founded on %s.",$founded$fruits[$founded]) 

array_keys()函數,代碼如下:

  1. $fruits["apple"] = "red"
  2. $fruits["banana"] = "yellow"
  3. $fruits["watermelon"]="green"
  4. $keys = array_keys($fruits); 
  5. print_r($keys); 

上面的方法都只能搜索一維數據,如果是多維數據就沒辦法了,php搜索多維數組的鍵值,如下面例子:

  1. $foo[1]['a']['xx'] = 'bar 1'
  2. $foo[1]['b']['xx'] = 'bar 2'
  3. $foo[2]['a']['bb'] = 'bar 3'
  4. $foo[2]['a']['yy'] = 'bar 4'
  5. $foo[3]['c']['dd'] = 'bar 3'
  6. $foo[3]['f']['gg'] = 'bar 3'
  7. $foo['info'][1] = 'bar 5'

如果要查找 bar 3 怎么進行查找呢,有三個結果,而這三個結果都要,看下面的函數:

  1. function array_search_re($needle$haystack$a=0, $nodes_temp=array()){ 
  2. global $nodes_found
  3. $a++; 
  4. foreach ($haystack as $key1=>$value1) { 
  5.     $nodes_temp[$a] = $key1
  6.     if (is_array($value1)){    
  7.       array_search_re($needle$value1$a$nodes_temp); 
  8.     } 
  9.     else if ($value1 === $needle){ 
  10.       $nodes_found[] = $nodes_temp
  11.     } 
  12. return $nodes_found

這個函數就可以把上面要查找到的內容全部返回出鍵名來,代碼如下:

  1. $result = array_search_re('bar 3'$foo); 
  2. print_r($result); 
  3. //輸出結果為如下: 
  4. Array ( [0] => Array ( [1] => 2 [2] => a [3] => bb ) 
  5.           [1] => Array ( [1] => 3 [2] => c [3] => dd ) 
  6.           [2] => Array ( [1] => 3 [2] => f [3] => gg ) 
  7.         ) 

php搜索多維數組的鍵名,代碼如下:

  1. function array_search_key($needle$haystack){ 
  2. global $nodes_found
  3. foreach ($haystack as $key1=>$value1) { 
  4.  
  5.  if ($key1=== $needle){ 
  6.  
  7.   $nodes_found[] = $value1
  8.         
  9.    } 
  10.     if (is_array($value1)){    
  11.       array_search_key($needle$value1); 
  12.     } 
  13.     
  14.     
  15. return $nodes_found
  16. $result = array_search_key('a'$foo); 
  17. print_r($result); 

輸出結果為如下:

  1. Array 
  2.     [0] => Array 
  3.         ( 
  4.             [xx] => bar 1 
  5.         ) 
  6.     [1] => Array 
  7.         ( 
  8.             [bb] => bar 3 
  9.         ) 
  10.     [2] => Array 
  11.         ( 
  12.             [yy] => bar 4 
  13.         ) 

通過遍歷我們可以實現多維數據搜索了.

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美日韩一级视频 | 色综合久久久久久久久五月 | 美国一级毛片片aa免 | 真实国产乱人伦在线视频播放 | 国产精品久久久一区二区三区 | 免费看www | 久久综合久久精品 | 秋霞免费理论片在线观看午夜 | 国产亚洲视频在线播放大全 | 欧美成人免费一区在线播放 | 久久免费视频一区 | 亚洲一区毛片 | 野外xxxxfreexxxx自己 | 成人精品一区二区久久 | 日本欧美一区二区三区不卡视频 | 亚洲国产高清在线精品一区 | 一二三四视频免费观看在线看 | 综合爱爱网 | 欧美一级特毛片 | 欧美一级在线观看 | 波多野结衣在线观看一区 | 欧美成人免费一区在线播放 | 精品久久久久久国产免费了 | h视频免费高清在线观看 | 欧美一级淫片aaaaaaa视频 | 日本一区二区不卡久久入口 | 欧美一级毛片不卡免费观看 | 一二三中文乱码亚洲乱码 | 国产片一区二区三区 | 亚洲 欧美 中文 日韩欧美 | 亚洲一级毛片免费在线观看 | 久久精品视频观看 | 欧美爱爱爽爽视频在线观看 | 欧美国产中文字幕 | 亚洲精品中文字幕乱码三区 | 国产精品成人免费综合 | 国内精品综合九九久久精品 | free性欧美video | 精品国产免费人成网站 | 一级做a爰片性色毛片黄书 一级做a爰片性色毛片男 | 久久大香伊蕉在人线国产昨爱 |