2016-03-02 55 views
-1

我正在使用數據庫系統進行某種類型的遊戲比賽,玩家可以組隊並參與事件。現在玩家有他們自己的數據庫,然後有一個數據庫(團隊ID,名稱,加入密碼等)和一個數據庫,我保存哪個球員(球員名稱/ ID是在哪個球隊名/ ID)。我的數據庫調用給了我一個帶有team_name,用戶名等的數組。我想用一個普通的team_name值對用戶進行分組,但我無法根據自己的需要重寫它。羣組和/或重寫現有陣列

我想在C#應用程序中爲我的個人使用構建某種API。在那裏,我希望腳本的輸出成爲json,並且我想向所有團隊展示一些細節。現在即時通訊使用下面的代碼:

$team_keys = array(); 
    foreach ($team_data AS $k => $sub_array) 
    { 
     $this_team = $sub_array['team_name']; 
     $team_keys[$this_team][$k] = array('username' => $sub_array['username']); 
    } 
echo json_encode($team_keys, JSON_PRETTY_PRINT); 

這給了我這樣的輸出:

{ 
    "Team1": { 
     "0": { 
      "username": "player1" 
     }, 
     "1": { 
      "username": "player2" 
     }, 
     "22": { 
      "username": "player3" 
     } 
    }, 
    "Team2": { 
     "2": { 
      "username": "player4" 
     }, 
     "3": { 
      "username": "player5" 
     }, ..... 
} 

但我想實現的東西,如:

{ 
    "team_name": "Team1", 
    "team_password": "secret", 
    "creation_timestamp": "123456789", 
    "players": [ 
     "Player1", 
     "Player2", 
     "Player3" 
    ] 
}, .... 

我嘗試噸不同方法,但我根本無法重新組合和重寫數組以滿足我的需求。希望有人能幫助我。

編輯:$ team_data看起來像這樣(我使用JOIN加入我的用戶,團隊和team_member表扎堆的所有數據):

array(83) { 
    [0]=> 
    array(4) { 
    ["username"]=> 
    string(8) "Player1" 
    ["team_name"]=> 
    string(8) "Team1" 
    ["team_password"]=> 
    string(7) "secret" 
    ["team_id"]=> 
    string(1) "1" 
    } 
    [1]=> 
    array(4) { 
    ["username"]=> 
    string(11) "Player2" 
    ["team_name"]=> 
    string(8) "Team1" 
    ["team_password"]=> 
    string(7) "secret" 
    ["team_id"]=> 
    string(1) "1" 
    } 
    [2]=> 
    array(4) { 
    ["username"]=> 
    string(8) "Player3" 
    ["team_name"]=> 
    string(10) "Team2" 
    ["team_password"]=> 
    string(6) "ultrasecret" 
    ["team_id"]=> 
    string(1) "2" 
    },... 
+0

能否請您發佈$ team_data輸入了。也許作爲php數組,只是示例數據是如何組織的!沒有你很難幫助你。 – Kordi

+0

嗨Kordi,我編輯了我的問題並提供了相關的數據:) – wordiboi

+0

'player3'來自'team2',對不對?你想在哪裏做'creation_timestamp'? – splash58

回答

0

所以輸入是以下數據

array(4) { 
    [0]=> 
    array(4) { 
    ["team_name"]=> 
    string(5) "Team1" 
    ["username"]=> 
    string(7) "player1" 
    ["team_password"]=> 
    string(6) "secret" 
    ["team_id"]=> 
    int(1) 
    } 
    [1]=> 
    array(4) { 
    ["team_name"]=> 
    string(5) "Team1" 
    ["username"]=> 
    string(7) "player2" 
    ["team_password"]=> 
    string(6) "secret" 
    ["team_id"]=> 
    int(1) 
    } 
    [2]=> 
    array(4) { 
    ["team_name"]=> 
    string(5) "Team2" 
    ["username"]=> 
    string(7) "player1" 
    ["team_password"]=> 
    string(6) "secret" 
    ["team_id"]=> 
    int(2) 
    } 
    [3]=> 
    array(4) { 
    ["team_name"]=> 
    string(5) "Team2" 
    ["username"]=> 
    string(7) "player2" 
    ["team_password"]=> 
    string(6) "secret" 
    ["team_id"]=> 
    int(2) 
    } 
} 

這是我的代碼和我的$ team_data

測試集

輸出

[ 
{ 
    "team_name": "Team1", 
    "team_id": 1, 
    "secret": null, 
    "players": [ 
    "player1", 
    "player2" 
    ] 
}, 
{ 
    "team_name": "Team2", 
    "team_id": 2, 
    "secret": null, 
    "players": [ 
    "player1", 
    "player2" 
    ] 
} 
]