PHP排序多维数组


PHP sort multi dimensional array

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

Array
(
    [240] => Array
        (
            [Member] => Array
                (
                    [id] => 112
                )
            [Payment] => Array
                (
                    [date] => 0712

)
    )

我尝试过多分类,但我从未找到有效的方法,我发现的所有例子都没有我的额外水平。

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

不管怎样,假设日期是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');

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