0

これを最初にメンバー ID で並べ替え、次に支払日で並べ替えるにはどうすればよいですか?

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

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


)
    )

マルチソートを試してみましたが、うまくいく方法が見つからず、見つかったすべての例に追加レベルがありませんでした。

4

2 に答える 2

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');
于 2012-07-26T15:02:14.373 に答える
0

データがデータベースから受信された場合は、使用できます... ORDER BY member,date

于 2012-07-26T15:01:10.747 に答える