php专区

 首页 > php专区 > PHP基础 > 数组 > php二维数组排序与遍历 - php数组

php二维数组排序与遍历 - php数组

分享到:
【字体:
导读:
          关于php二维数组定义我就不说多了,很简单的,下面几款实例都是讲关于php 二维数组排序与遍历,我们每个实例都是以不同的方法介绍,代码如下:functionmulti_array_sort($multi_array,$sort_key,$sort=....

php二维数组排序与遍历

关于php二维数组定义我就不说多了,很简单的,下面几款实例都是讲关于php 二维数组排序与遍历,我们每个实例都是以不同的方法介绍,代码如下:

  1. function multi_array_sort($multi_array,$sort_key,$sort=sort_asc){    
  2.     if(is_array($multi_array)){    
  3.         foreach ($multi_array as $row_array){    
  4.             if(is_array($row_array)){    
  5.                 $key_array[] = $row_array[$sort_key];    
  6.             }else{    
  7.                 return -1;    
  8.             }    
  9.         }    
  10.     }else{    
  11.         return -1;    
  12.     }    
  13.     array_multisort($key_array,$sort,$multi_array);    
  14.     return $multi_array;    
  15. }  
  16.  
  17. array
  18.             array('id'=>1,'data'=>'a'), 
  19.             array('id'=>3,'data'=>'c'), 
  20.             array('id'=>2,'data'=>'b'
  21.         ); 

php本身是有一个多维数组排序的函数的,代码如下:

bool array_multisort ( array $ar1 [, mixed $arg [, mixed $... [, array $... ]]] )

方法二,代码如下:

  1. //以时间inputdate为key值进行二维数组降序排列  
  2. function array_sort($arr,$keys,$type){  
  3. $keysvalue=array();  
  4. $i = 0;  
  5. foreach($arr as $key=>$val) {  
  6. $val[$keys] = str_replace("-","",$val[$keys]);  
  7. $val[$keys] = str_replace(" ","",$val[$keys]);  
  8. $val[$keys] = str_replace(":","",$val[$keys]);  
  9. $keysvalue[] =$val[$keys]; 
  10. }  
  11. asort($keysvalue); //key值排序  
  12. reset($keysvalue); //指针重新指向数组第一个  
  13. foreach($keysvalue as $key=>$vals) {  
  14. $keysort[] = $key;  
  15. }  
  16. $new_array = array();  
  17. if($type != "asc"){  
  18. for($ii=count($keysort)-1; $ii>=0; $ii--) {  
  19. $new_array[] = $arr[$keysort[$ii]];  
  20. }  
  21. }else{  
  22. for($ii=0; $ii<count($keysort); $ii++){  
  23. $new_array[] = $arr[$keysort[$ii]];  
  24. }  
  25. }  
  26. return $new_array;  
  27. }  
  28. ?> 

方法三,代码如下:

  1.     $a = array
  2.        0=>array("id"=>1,"name"=>"小何","addr"=>"0:1"), 
  3.        1=>array("id"=>2,"name"=>"小刚","addr"=>"0:1:2"), 
  4.        2=>array("id"=>3,"name"=>"小军","addr"=>"0:1:3"), 
  5.        3=>array("id"=>4,"name"=>"公司","addr"=>"0:4"), 
  6.     ); 
  7. function sort_by($array$keyname = null, $sortby){ 
  8.     $myarray = $inarray = array(); 
  9.     foreach($array as $i=>$befree){ 
  10.       $myarray[$i] = $array[$i][$keyname]; 
  11.     } 
  12.     switch($sortby){ 
  13.        case 'asc'
  14.        asort($myarray); 
  15.        break
  16.        case 'arsort'
  17.        arsort($myarray); 
  18.        break
  19.        case 'natcasesor'
  20.        natcasesor($myarray); 
  21.        break
  22.     } 
  23.     foreach($myarray as $key=>$befree){ 
  24.         $inarray[$key] = $array[$key]; 
  25.         } 
  26.           return $inarray
  27. print_r(sort_by($a,"addr","arsort")); 
  28. //开源软件:phpfensi.com 
  29. print_r($a[2]["id"]); 
  30. ?>
分享到:
php遍历二维数组与多维数组代码 - php数...
php遍历二维数组与多维数组代码 关于php的数组,我们来讲一下,二维数组与多维的遍历代码,下面举了三个实例来测试数组的遍历php代码函数了,代码如下: function arr_foreach ($arr) {   if (!is_array ($arr)) {    return false;   }   foreach ($arr as $key...
PHP中数组定义的几种方法 - php数组
PHP中数组定义的几种方法 这篇文章介绍了PHP中数组定义的几种方法,有需要的朋友可以参考需要  
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……