今天遇到了一个数据结构是这样的:
一个分类表和一个分类关联数据表,分类关联数据表中,保留的分类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);