Reprint address:
http://blog.qita.in/?post=468
-
//Two-dimensional array sorting, $arr is the data, $keys is the key value of sorting, $order is the sorting rule, 1 is ascending order, 0 is descending order
-
- function array_sort($arr, $keys, $order=0) {
-
- if (!is_array($arr)) {
-
- return false;
-
- }
-
- $keysvalue = array();
-
- foreach($arr as $key => $val) {
-
- $keysvalue[$key] = $val[$keys];
-
- }
-
- if($order == 0){
-
- asort($keysvalue);
-
- }else {
-
- arsort ($keysvalue);
-
- }
-
- reset($keysvalue);
-
- foreach($keysvalue as $key => $vals) {
-
- $keysort[$key] = $key;
-
- }
-
- $ new_array = array();
-
- foreach($keysort as $key => $val) {
-
- $new_array[$key] = $arr[$val];
-
- }
-
- return $new_array;
-
- }
-
- //eg
- $arr = array('0'=>array('a'=>2,'b'=>4,'c'=>3),
- '1'=> ;array('a'=>45,'b'=>3,'c'=>3),
- '2'=>array('a'=>2,'b'=> ;7,'c'=>3),
- );
- $new_array = array_sort($arr,'a',0);
- print_r($new_array);
Copy code
|