PHP built-in function array_multisort requires that each array is of the same size
$areas is a two-dimensional array of areas, including the number of people and times. Now we need to sort these two numbers in descending order
Copy Code The code is as follows:
foreach($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);
}
For example, there is a multisort array:
Copy the code The code is as follows:
$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)
);
Need to sort the age items in the two-dimensional array.
You need to use PHP’s built-in function array_multisort(), you can read the manual.
Custom function:
Copy code The code is as follows:
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 false;
}
}
}else{
return false;
}
array_multisort($key_array,$ sort,$multi_array);
return $multi_array;
}
//processing
echo “
”;
print_r(multi_array_sort($arr,'age') );exit;
//Output
Array
(
[c] => Array
(
[id] => 1
[name] => ; 2
[age] => 2
)
[b] => Array
(
[id] => 2
[name] => 3
[age] => 4
)
[a] => Array
(
[id] => 8
[name] => 10
[age] => 5
)
[d] => Array
(
[id] => 5
[name] => 1
[ age] => 7
)
)
written by Daewoo
0
http://www.bkjia.com/PHPjc/324592.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/324592.htmlTechArticlePHP built-in function array_multisort requires each array to be the same size. $areas is a two-dimensional array of areas, including the number of people and times. Now we need to sort these two numbers in descending order. Copy the code. The code is as follows...