1

現在、ユーザーエントリ 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;
  1. に基づいてエントリをグループ化する配列を保存するにはどうすればよいですか。user_idこれuser_id = 1により、関連する合計で配列に一度だけ表示されますuser_point。この場合、「70 ポイント」に相当します。

  2. 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()を調べましたが、このコンテキストでの使用方法が完全にはわかりません

どんな助け、例も本当に感謝しています!

4

1 に答える 1