Heim  >  Artikel  >  Backend-Entwicklung  >  So sortieren Sie ein Feld in einem eindimensionalen Array in einem zweidimensionalen PHP-Array

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

零到壹度
零到壹度Original
2018-04-11 12:22:392059Durchsuche

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); 
 }

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

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

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!

Stellungnahme:
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