php 重新排列陣列裡的陣列順序

剛好最近寫網站有這個需要,因為 db 設計的關係所以撈出來資料的排序沒辦法照我想要的排列,研究一下找到這個方法就記錄一下。

$students=array(
            array(
                'id'=>1,
                'name'=>'Jason'
            ),
            array(
                'id'=>0,
                'name'=>'Tom'
            ),
            array(
                'id'=>3,
                'name'=>'John'
            )
);

如果想要照 id 排序,就像這樣寫:
function new_order($a, $b)
  {
    return strnatcmp($a['id'], $b['id']);
  }

  usort($students, 'new_order');


參考: PHP: Sorting Arrays of Arrays

留言