具有通用性二维数组排序算法函数
时间:2021-07-01 10:21:17
帮助过:22人阅读
转载地址:
http://blog.qita.in/?post=468
- //二维数组排序, $arr是数据,$keys是排序的健值,$order是排序规则,1是升序,0是降序
-
- 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);
|