首页 > 技术文章 > PHP二维数组排序

ElseYZ 2015-12-22 20:02 原文

今天遇到了一个数据结构是这样的:

  一个分类表和一个分类关联数据表,分类关联数据表中,保留的分类id只有一个,例如:市场行情是一个顶级分类,其子分类有市场价格,稀土行情,行情走势等分类,关联的数据表中分类id只有一个,所以当你想查市场行情下面所有的数据时(包括子分类的数据),还需要排序用一条sql显然是不能完成的,我的做法是利用分类id查出所有关联的数据表,然后放到一个数组中,组成二维数据,但是很显然顺序是不对的,所以就用到了PHP自带函数array_multisort(array(一维),'SORT_DESC',array(二维))

  例:

       $users = array(
               array('username' => 'tom', 'addtime' => 1)
               , array('username' => 'anny', 'addtime' => 2)
               , array('username' => 'jack', 'addtime' => 3)
           );
   按时间排序的话,组装addtime
        $addtime = array();
         foreach ($users as $val) {
          $addtime[] = $val['age'];
         }
  然后在array_multisort($addtime,'SORT_DESC',$users);var_dump($users);

推荐阅读