常常會面臨這樣的需求,雖然有時候我們可以在資料庫查詢的時候,直接對資料進行排序,但還是無法滿足日益複雜的業務需求。這裡邊會用到兩個函數一個是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)
相關推薦:
以上是PHP函數對二維數組進行排序的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!