有时候我们要对一个多维数组进行排序,如对以下数组:
$a = array(
array(
'age' => ,
'name' => 'John',
),
array(
'age' => ,
'name' => 'Jim',
),
array(
'age' => ,
'name' => 'Tom',
),
);
根据age进行排序,则我们使用array_multisort(),其功能是
参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。
所以要先把age拿出来:
$age = array();
foreach ($a as $value) {
$age[] = $value['age'];
}
再对$a数组进行排序:
array_multisort($age, SORT_ASC, $a);
这里相当于使用 age数组对 a g e 数 组 对 a进行升序排序