1. 程式人生 > >PHP關聯陣列按某一value值排序

PHP關聯陣列按某一value值排序

1.定義

二維陣列根據某個欄位排序有兩種辦法,一種是通過sort自己寫程式碼,一種是直接用array_multisort排序函式,這裡直接說使用array_multisortd的方式。

2.eg:

//   a. 構造測試資料
$roledata = array(
    array("name"=>"aa","age"=>20),
    array("name"=>"bb","age"=>5),
    array("name"=>"cc","age"=>10),
    array("name"=>"dd","age"=>30),
    array("name"=>"ee","age"=>44)
);

// b. 按年齡排序   SORT_ASC升序排序,SORT_DESC降序排序
// $tempArr用來儲存排序欄位 
$tempArr = array();
foreach($roledata as $key=>$v){
    $tempArr[$key]['age'] = $v['age'];
}

//降序排序
array_multisort($tempArr,SORT_DESC,$roledata);

//c .列印輸出
foreach($roledata as $key=>$value){
    echo $value['name']."---".$value["age"]."\n";
}

// result:
//ee---44
//dd---30
//aa---20
//cc---10
//bb---5