PHP排序多维数组

时间:2012-07-26 14:57:22

标签: php arrays sorting multidimensional-array

我如何先按会员ID排序,然后按付款日期排序?

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

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


)
    )

我尝试使用multisort,但我从来没有找到一种正常工作方式,而且我发现的所有示例都没有达到我的额外级别。

2 个答案:

答案 0 :(得分:2)

日期值是字符串还是整数?

无论如何,假设date是一个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');

答案 1 :(得分:0)

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