So sortieren Sie ein Feld in einem eindimensionalen Array in einem zweidimensionalen PHP-Array

零到壹度
Freigeben: 2023-03-23 15:22:01
Original
2112 Leute haben es durchsucht

Der Inhalt dieses Artikels besteht darin, Ihnen mitzuteilen, wie Sie ein bestimmtes Feld in einem zweidimensionalen PHP-Array sortieren. Es hat einen bestimmten Referenzwert.

Die hier erhaltenen Daten in der Datenbank

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); 
 }
Nach dem Login kopieren

================================= == ======================================

方法进行排序 /**
     * @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": ""
        }
    ]
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo sortieren Sie ein Feld in einem eindimensionalen Array in einem zweidimensionalen PHP-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage