PHP函數對二維數組進行排序的方法

來源:互聯網
上載者:User
經常會面臨這樣的需求,雖然有時候我們可以在資料庫查詢的時候,直接對資料進行排序,但還是無法滿足日益複雜的業務需求。這裡邊會用到兩個函數一個是array_column()函數,這個函數接受三個參數。詳情參見這裡是從二維數組中抽出一個鍵的值,作為一個新的數組返回。

另一個是array_multisort()函數,這個函數是一個排序函數,詳情參見這裡

它會依照第一個參數數組的定序,依照第一個參數數組的值在第三個參數重的位置對第三個參數進行排序。

聽不明白吧?聽不明白就對了,還是直接看代碼來的實在:

$orgin = array(  array(    'id' => 5698,    'first_name' => 'Bill',    'last_name' => 'Gates',  ),  array(    'id' => 4767,    'first_name' => 'Steve',    'last_name' => 'Jobs',  ),  array(    'id' => 3809,    'first_name' => 'Mark',    'last_name' => 'Zuckerberg',  ));$idArr = array_column($orgin, 'id');array_multisort($idArr,SORT_ASC,$orgin);var_dump($orgin);

這個列印的結果是:

array (size=3)  0 =>     array (size=3)      'id' => int 3809      'first_name' => string 'Mark' (length=4)      'last_name' => string 'Zuckerberg' (length=10)  1 =>     array (size=3)      'id' => int 4767      'first_name' => string 'Steve' (length=5)      'last_name' => string 'Jobs' (length=4)  2 =>     array (size=3)      'id' => int 5698      'first_name' => string 'Bill' (length=4)      'last_name' => string 'Gates' (length=5)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.