欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php 二维数组排序与遍历_PHP教程

程序员文章站 2024-01-08 12:35:52
...
关于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;
}
?>
($keysort);>

方法三

$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"]);
?>


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