二维数组排序:array_orderby(php官网评论)

 1 /**
 2 I came up with an easy way to sort database-style results. This does what example 3 does, except it takes care of creating those intermediate arrays for you before passing control on to array_multisort(). 
 3 */
 4 
 5 <?php
 6 function array_orderby()
 7 {
 8     $args = func_get_args();
 9     $data = array_shift($args);
10     foreach ($args as $n => $field) {
11         if (is_string($field)) {
12             $tmp = array();
13             foreach ($data as $key => $row)
14                 $tmp[$key] = $row[$field];
15             $args[$n] = $tmp;
16             }
17     }
18     $args[] = &$data;
19     call_user_func_array('array_multisort', $args);
20     return array_pop($args);
21 }
22 ?>
23 
24 The sorted array is now in the return value of the function instead of being passed by reference.
25 
26 <?php
27 $data[] = array('volume' => 67, 'edition' => 2);
28 $data[] = array('volume' => 86, 'edition' => 1);
29 $data[] = array('volume' => 85, 'edition' => 6);
30 $data[] = array('volume' => 98, 'edition' => 2);
31 $data[] = array('volume' => 86, 'edition' => 6);
32 $data[] = array('volume' => 67, 'edition' => 7);
33 
34 // Pass the array, followed by the column names and sort flags
35 $sorted = array_orderby($data, 'volume', SORT_DESC, 'edition', SORT_ASC);
36 ?>

转自:http://php.net/manual/zh/function.array-multisort.php 第一条评论就是。

原文地址:https://www.cnblogs.com/saonian/p/8580816.html