この配列の並べ替えに問題があります。
Array
(
[0] => stdClass Object
(
[id] => 120
[registration_date] => 2012-10-19 16:57:46
[username] => Jeff
)
[1] => stdClass Object
(
[id] => 121
[registration_date] => 2012-12-23 16:57:46
[username] => Peter
)
[2] => stdClass Object
(
[id] => 122
[registration_date] => 2012-11-30 16:57:46
[username] => Susan
)
)
変数に格納されます:
$unsorted_users
この配列DESCをregistration_dateで並べ替えたいので、次のようになります。
Array
(
[0] => stdClass Object
(
[id] => 121
[registration_date] => 2012-12-23 16:57:46
[username] => Peter
)
[1] => stdClass Object
(
[id] => 122
[registration_date] => 2012-11-30 16:57:46
[username] => Susan
)
[2] => stdClass Object
(
[id] => 120
[registration_date] => 2012-10-19 16:57:46
[username] => Jeff
)
)
そしてそれは次のようにregistration_dateによって順序付けられます:
2012-12-23 16:57:46
2012-11-30 16:57:46
2012-10-19 16:57:46
オリジナルの代わりに:
2012-10-19 16:57:46
2012-12-23 16:57:46
2012-11-30 16:57:46
このコードを使用していますが、うまく機能していません(print_r($ sorted_users); $sorted_usersの出力は「1」です。1でソートされていない配列である理由はわかりません)。
$sorted_users = usort($unsorted_users, function($a, $b) {
return $a['registration_date'] - $b['registration_date'];
});
$ sorted_usersのコードが間違っている理由についてアドバイスはありますか?