이 글의 내용은 PHP에서 1차원 배열의 특정 필드를 2차원 배열로 정렬하는 방법을 공유하는 것입니다. 필요한 참조 값이 있습니다.
에서 여기에서 얻은 데이터베이스 Data
public function hot_sort(){ $type = input('type'); $list = $this->get_hot_sort($type); $res = $list->data; $re = $this->object_array($res); foreach ($re as $k=>$v){ $data= Db::name('merchants')->field('share_num')->where(['gl_merchants_id'=>$v['user_id']])->find(); $re[$k]['share_num'] = $data['share_num']; } $result = $this->quick_sort($re); //这里调用方法根据某个字段进行排序 success($result); }
========================================== ======= ===========================
方法进行排序 /** * @param $arrUsers * @return mixed *二维数组某个字段进行排序 */ function quick_sort($arrUsers) { $sort = array( 'direction' => 'SORT_DESC', //排序顺序标志 SORT_DESC 降序;SORT_ASC 升序 'field' => 'share_num', //排序字段 ); $arrSort = array(); foreach($arrUsers AS $k => $v){ foreach($v AS $key=>$value){ $arrSort[$key][$k] = $value; } } if($sort['direction']){ array_multisort($arrSort[$sort['field']], constant($sort['direction']), $arrUsers); } return $arrUsers; } 原来的排序结果 { "status": "ok", "data": [ { "user_id": "29", "shop_id": 7, "total_money": 40000, "user_name": "b1", "user_headimg": "https://ucenter.ttzxh.com/image.php/ucenter/data/upload/media/plantform/image/20171213/1513144055861391.jpg!120x120.jpg", "share_num": "" }, { "user_id": "16", "shop_id": 6, "total_money": 15000.01, "user_name": "b7", "user_headimg": "https://ucenter.ttzxh.com/image.php/ucenter/data/upload/media/plantform/image/20180122/1516586013148395.jpg!120x120.jpg", "share_num": "" }, { "user_id": "13", "shop_id": 4, "total_money": 5000, "user_name": "gelu1234", "user_headimg": "https://ucenter.ttzxh.com/image.php/ucenter/data/upload/media/plantform/image/20171213/1513144055861391.jpg!120x120.jpg", "share_num": "" }, { "user_id": "56", "shop_id": 20, "total_money": 70, "user_name": "HECAI", "user_headimg": "https://ucenter.ttzxh.com/image.php/ucenter/data/upload/media/plantform/image/20171213/1513144055861391.jpg!120x120.jpg", "share_num": "" }, { "user_id": "32", "shop_id": 9, "total_money": 37.1, "user_name": "baxianqiao", "user_headimg": "https://ucenter.ttzxh.com/image.php/ucenter/data/upload/media/plantform/image/20171213/1513144055861391.jpg!120x120.jpg", "share_num": "670000" }, { "user_id": "8", "shop_id": 1, "total_money": 0, "user_name": "SXMY", "user_headimg": "https://ucenter.ttzxh.com/image.php/ucenter/data/upload/media/plantform/image/20171213/1513144055861391.jpg!120x120.jpg", "share_num": "" }, { "user_id": "35", "shop_id": 8, "total_money": 0, "user_name": "self01", "user_headimg": "https://ucenter.ttzxh.com/image.php/ucenter/data/upload/media/plantform/image/20180122/1516586013148395.jpg!120x120.jpg", "share_num": "" } ] } 现在排序的结果 { "status": "ok", "data": [ { "user_id": "32", "shop_id": 9, "total_money": 37.1, "user_name": "baxianqiao", "user_headimg": "https://ucenter.ttzxh.com/image.php/ucenter/data/upload/media/plantform/image/20171213/1513144055861391.jpg!120x120.jpg", "share_num": "670000" }, { "user_id": "8", "shop_id": 1, "total_money": 0, "user_name": "SXMY", "user_headimg": "https://ucenter.ttzxh.com/image.php/ucenter/data/upload/media/plantform/image/20171213/1513144055861391.jpg!120x120.jpg", "share_num": "" }, { "user_id": "13", "shop_id": 4, "total_money": 5000, "user_name": "gelu1234", "user_headimg": "https://ucenter.ttzxh.com/image.php/ucenter/data/upload/media/plantform/image/20171213/1513144055861391.jpg!120x120.jpg", "share_num": "" }, { "user_id": "16", "shop_id": 6, "total_money": 15000.01, "user_name": "b7", "user_headimg": "https://ucenter.ttzxh.com/image.php/ucenter/data/upload/media/plantform/image/20180122/1516586013148395.jpg!120x120.jpg", "share_num": "" }, { "user_id": "29", "shop_id": 7, "total_money": 40000, "user_name": "b1", "user_headimg": "https://ucenter.ttzxh.com/image.php/ucenter/data/upload/media/plantform/image/20171213/1513144055861391.jpg!120x120.jpg", "share_num": "" }, { "user_id": "35", "shop_id": 8, "total_money": 0, "user_name": "self01", "user_headimg": "https://ucenter.ttzxh.com/image.php/ucenter/data/upload/media/plantform/image/20180122/1516586013148395.jpg!120x120.jpg", "share_num": "" }, { "user_id": "56", "shop_id": 20, "total_money": 70, "user_name": "HECAI", "user_headimg": "https://ucenter.ttzxh.com/image.php/ucenter/data/upload/media/plantform/image/20171213/1513144055861391.jpg!120x120.jpg", "share_num": "" } ] }
위 내용은 PHP 2차원 배열에서 1차원 배열의 필드를 정렬하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!