首頁 >後端開發 >php教程 >數組 PHP 多維數組的排序問題 根據二維數組中某項排序

數組 PHP 多維數組的排序問題 根據二維數組中某項排序

WBOY
WBOY原創
2016-07-29 08:47:09908瀏覽

PHP內建函數array_multisort 要求每個陣列大小一樣
$areas是地區的二維數組,包含人數和次數,現在要按這2種數進行降序排序

複製程式碼 程式碼如下:

複製程式碼
($areaArray as &$areas) {
$times = $numbers = array();
foreach($areas as $province => $v) {
$times[$province] = $v['times'];
$numbers[$province] = $v['numbers'];
}
array_multisort($times, SORT_DESC, $numbers, SORT_DESC, $areas);
}



複製碼

程式碼如下:$arr = array(

'd' => array('id' => 5, 'name' => 1, 'age' => 7),

'b' => array('id' => 2,'name' => 3,'age' => 4),
'a' => array('id' => 8,'name' => 10,'age ' => 5),
'c' => array('id' => 1,'name' => 2,'age' => 2)
);


需要對二維數組中的age 項排序。
需要用到PHP的內建函數 array_multisort(),可以看手冊。

自訂函數:



複製程式碼

程式碼如下:function multi_array_sort($multi_array,$sort_key,$sort=SOfm(rem)($multi_array,$sort_mf. ti_array as $row_array){

if(is_array($row_array)){

$key_array[] = $row_array[$sort_key];
}else{
return false;
}
}else{
return false;
}
} array_multisort($key_array,$sort,$multi_array);
return $multi_array;
}
//處理
echo “

”; 
print_r(multi_array_sortti_arr; /輸出
Array
(
[c] => Array
(
[id] => 1
[name] => 2
[age] => 2
)
[b] =
[age] => 2
)
[b] =
[b] => ] => 2
[name] => 3
[age] => 4
)
[a] => Array
(
[id] => 8
[name] => 10
[age] => 55
)
[d] => Array
(
[id] => 5
[name] => 1
[age] => 7
)
)
written by 大宇
大宇

以上就介紹了數組 PHP 多維數組的排序問題 根據二維數組中某個項目排序,包括了數組方面的內容,希望對PHP教程有興趣的朋友有所幫助。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn