PHP一維數組、二維數組排序____PHP

來源:互聯網
上載者:User

1、一維數組

結構:

{
    "data": [
        {
            "id": 1,
            "name": "套餐一",
            "category": null,
            "type": 1,
            "short_introduction": "套餐介紹",
            "detail": "套餐詳情",
            "price": 4500,
            "discount_price": null
        },
        {
            "id": 2,
            "name": "套餐二",
            "category": null,
            "type": 1,
            "short_introduction": "套餐介紹二",
            "detail": "套餐詳情二",
            "price": 2300,
            "discount_price": null
        },
        {
            "id": 3,
            "name": "套餐三",
            "category": null,
            "type": 1,
            "short_introduction": "套餐三",
            "detail": null,
            "price": 2300,
            "discount_price": null
        },
        {
            "id": 4,
            "name": "套餐四",
            "category": null,
            "type": 1,
            "short_introduction": "套餐四",
            "detail": "套餐詳情",
            "price": 1700,
            "discount_price": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 4,
            "count": 4,
            "per_page": 10,
            "current_page": 1,
            "total_pages": 1,
            "links": []
        }
    }
}



$sort    = request()->input('sortby','id');
        $order   = request()->input('order','asc');
        $paginator = $this->packageService->with(includes())->paginate();


        $packages = fractal($paginator, new PackageTransformer())
            ->parseIncludes(includes())
            ->toArray();


        $results = [];
        if('price' == $sort) {


            foreach ($packages['data'] as $unique => $package) {
                $results[] = $package['price'];
            }
            if('asc' == $order) {


                array_multisort($results,SORT_ASC,$packages['data']);


            }else{


                array_multisort($results,SORT_DESC,$packages['data']);


            }


        }


        if (!$packages) {
            return error(\Msg::PACKAGE_NOT_FOUND);
        }


        return $this->response($packages);


2、二維數組

$arrUsers = array(       array(               'id'   => 1,               'name' => '張三',               'age'  => 25,       ),       array(               'id'   => 2,               'name' => '李四',               'age'  => 23,       ),       array(               'id'   => 3,               'name' => '王五',               'age'  => 40,       ),       array(               'id'   => 4,               'name' => '趙六',               'age'  => 31,       ),       array(               'id'   => 5,               'name' => '黃七',               'age'  => 20,       ),   );          $sort = array(           'direction' => 'SORT_DESC', //排序次序標誌 SORT_DESC 降序;SORT_ASC 升序           'field'     => 'age',       //排序欄位   );   $arrSort = array();   foreach($arrUsers AS $uniqid => $row){       foreach($row AS $key=>$value){           $arrSort[$key][$uniqid] = $value;       }   }  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.