多维数组排序函数代码
- /**
- * 多维数组排序
- * @param array $array 要排序的数组
- * @param string $key 排序依据字段
- * @param string $order 排序方式,0为降序,1为升序
- */
- function array_sort(array $array,$key,$order=1){
- $sort=[];
- // 在此处形成字段值与键名的对应关系
- foreach($array as $k=>$v){
- $sort[$v[$key]]=isset($sort[$v[$key]])?array_merge($sort[$v[$key]],[$k]):[$k];
- }
- if($order==1&&ksort($sort)){
- // 升序排序
-
- }elseif($order==0&&krsort($sort)){
-
- }else{
- return false;
- }
- $rs = [];
- // 按照排好顺序的关系生成新的数组
- foreach($sort as $value){
- foreach($value as $n){
- $rs[] = $array[$n];
- }
- }
- unset($sort,$array);
- return $rs;
- }
复制代码
|