現在、ユーザーエントリ TABLE を持つデータベースがあります-ここで、次のようなクエリを実行します。
user_id: 1
user_point: 20
user_id: 1
user_point: 50
user_id: 2
user_point: 10
このデータは、次のような配列に保存されます。
$highscoreData = array();
while ($row = mysql_fetch_assoc($res))
{
$highscoreData []= (object) array(
"user_id" => $row['user_id'],
"username" => $row['username'],
"user_firstname" => $row['user_firstname'],
"user_lastname" => $row['user_lastname'],
"user_point" => $row['user_point']
);
}
$feedback = $highscoreData;
に基づいてエントリをグループ化する配列を保存するにはどうすればよいですか。
user_id
これuser_id = 1
により、関連する合計で配列に一度だけ表示されますuser_point
。この場合、「70 ポイント」に相当します。user_id
そして、後で配列をソートして、最大数のuser_point
配列が配列の最初に並ぶようにするにはどうすればよいですか?
質問 1 については、for ループのようなことを考えました。
for( var i = 0; i < highscoreData.length; i++ ){
//check if user_id = user_id - then perhaps save into a new array?
}
質問 2 については、usort()を調べましたが、このコンテキストでの使用方法が完全にはわかりません
どんな助け、例も本当に感謝しています!