首页 > php函数 > php 二维数组排序与遍历

php 二维数组排序与遍历

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

 

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

function multi_array_sort($multi_array,$sort_key,$sort=sort_asc){  
	    if(is_array($multi_array)){  
	        foreach ($multi_array as $row_array){  
	            if(is_array($row_array)){  
	                $key_array[] = $row_array[$sort_key];  
	            }else{  
	                return -1;  
	            }  
	        }  
	    }else{  
	        return -1;  
	    }  
	    array_multisort($key_array,$sort,$multi_array);  
	    return $multi_array;  
	} 


array(
            array('id'=>1,'data'=>'a'),
            array('id'=>3,'data'=>'c'),
            array('id'=>2,'data'=>'b')
        );

php本身是有一个多维数组排序的函数的。

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


方法二

 

//以时间inputdate为key值进行二维数组降序排列
	function array_sort($arr,$keys,$type){
	$keysvalue=array();
	$i = 0;
	foreach($arr as $key=>$val) {
	$val[$keys] = str_replace("-","",$val[$keys]);
	$val[$keys] = str_replace(" ","",$val[$keys]);
	$val[$keys] = str_replace(":","",$val[$keys]);
	$keysvalue[] =$val[$keys];
	}
	asort($keysvalue); //key值排序
	reset($keysvalue); //指针重新指向数组第一个
	foreach($keysvalue as $key=>$vals) {
	$keysort[] = $key;
	}
	$new_array = array();
	if($type != "asc"){
	for($ii=count($keysort)-1; $ii>=0; $ii--) {
	$new_array[] = $arr[$keysort[$ii]];
	}
	}else{
	for($ii=0; $ii$new_array[] = $arr[$keysort[$ii]];
	}
	}
	return $new_array;
	}
	?>

方法三

    $a = array(
	       0=>array("id"=>1,"name"=>"小何","addr"=>"0:1"),
	       1=>array("id"=>2,"name"=>"小刚","addr"=>"0:1:2"),
	       2=>array("id"=>3,"name"=>"小军","addr"=>"0:1:3"),
	       3=>array("id"=>4,"name"=>"公司","addr"=>"0:4"),
	    );
	function sort_by($array, $keyname = null, $sortby){
	    $myarray = $inarray = array();
	    foreach($array as $i=>$befree){
	      $myarray[$i] = $array[$i][$keyname];
	    }
	    switch($sortby){
	       case 'asc':
	       asort($myarray);
	       break;
	       case 'arsort':
	       arsort($myarray);
	       break;
	       case 'natcasesor':
	       natcasesor($myarray);
	       break;
	    }
	    foreach($myarray as $key=>$befree){
	        $inarray[$key] = $array[$key];
	        }
	          return $inarray;
	}
	print_r(sort_by($a,"addr","arsort"));
	
	print_r($a[2]["id"]);
	?>


教程地址:http://www.phprm.com/function/php1004556.html

欢迎转载!但请带上文章地址^^

标签:none

发表留言