php 二維數組排序與遍曆_PHP教程

來源:互聯網
上載者:User
關於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.bkjia.com/PHPjc/445421.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/445421.htmlTechArticle關於php二維數組定義我就不說多了,很簡單的,下面幾款執行個體都是講關於php 二維數組排序與遍曆哦,我們每個執行個體都是以不同的方法介紹...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.