php 多維陣列排序 array_multisort

當我們在製作清單的時候通常會使用到多維陣列,在取出資料前就先在sql 中下 order by 的指令,但是有些時候我們會需要用到直接針對已經取出的陣列進行重新的排序 (這樣就不用再去問 SQL) 了。
這時候我們就可以使用 array_multisort 這個函式。

這個函式的使用方式還滿特殊的
簡單的說只要輸入
array_multisort($陣列,排序方式);
例如:
array_multisort($json_arr,SORT_DESC);
這樣就會自動被使用降冪排列。

不過我們會用到這個功能時大部分都會需要指定要參照排列的 key 值,這時候我們要動點小手腳
foreach ($json_arr as $key => $value) {
$date[$key] = $value['date'];
$end[$key] = $value['end'];
}
array_multisort($date,SORT_DESC,$end,SORT_DESC,$json_arr,SORT_DESC);
這樣的話他就會依照 'date','end','json_arr'這樣的優先順序進行排序



參考資料:

留言

這個網誌中的熱門文章

讓 PHP 接收 post 的 json 資料

PHPExcel 用PHP匯出成EXCEL

解決PHP JSON 中文亂碼的問題