2012-07-26 149 views
0

我怎样才能根据会员id排序,然后按付款日期排序?PHP排序多维数组

Array 
(
    [240] => Array 
     (
      [Member] => Array 
       (
        [id] => 112 
       ) 

      [Payment] => Array 
       (
        [date] => 0712 


) 
    ) 

我试过multisort,但我从来没有找到一种方式工作和所有的例子,我发现没有我的额外水平。

+0

看看这个帖子:http://stackoverflow.com/questions/ 2910611/php-sort-a-multidimensional-array-by-element-containing-date – 2012-07-26 15:02:14

回答

0

如果从数据库接收到的数据可以使用... ORDER BY member,date

+0

而且,从它的外观来看,您正在使用CakePHP?你只需要在你的数组中包含这些数据(与'条件'相同) – tigertrussell 2012-07-26 15:01:41

2

是日期值的字符串或整数?

无论如何,假设日期是int,你可以试试这个:

function my_sort($val1, $val2) { 
    $compare_id = $val1['Member']['id'] - $val2['Member']['id']; 
    if($compare_id == 0) { 
     return $val1['Payment']['date'] - $val2['Payment']['date']; 
    } 
    else return $compare_id; 
} 

,然后调用:

usort($array, 'my_sort');