2016-06-05 10 views
0

Verwenden von PHP. Wie bekomme ich clanAbbrev von einem dynamischen Elternteil, wo es auch "Team" enthält: "2"? Ich muss es nicht von jedem Spieler bekommen, ich muss es nur suchen, bis ich den ersten Spieler in Team 2 finde. Alle Spieler in Team 2 sind im gleichen "Clan" und das ist alles was ich versuche zu tun den Clan-Tag-Team 2.Json erhalten Wert von Kind in einem dynamischen Elternteil

"players":{ 
     "524050468":{ 
      "name":"Disqualification", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"GRBB", 
      "team":2, 
      "clanDBID":500063884, 
      "platoonID":19752025 
     }, 
     "511471621":{ 
      "name":"RedBaron_GR", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"GRBB", 
      "team":2, 
      "clanDBID":500063884, 
      "platoonID":19752025 
     }, 
     "519208358":{ 
      "name":"pokefast", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"2DBFL", 
      "team":1, 
      "clanDBID":500029422, 
      "platoonID":19752025 
     }, 
     "501168520":{ 
      "name":"mad_2fast4u", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"GRBB", 
      "team":2, 
      "clanDBID":500063884, 
      "platoonID":19752025 
     }, 
     "517090729":{ 
      "name":"Tcoglani", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"GRBB", 
      "team":2, 
      "clanDBID":500063884, 
      "platoonID":19752025 
     }, 
     "505935551":{ 
      "name":"Ultimate_Spinach_", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"GRBB", 
      "team":2, 
      "clanDBID":500063884, 
      "platoonID":19752025 
     }, 
     "505118732":{ 
      "name":"VADOR2", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"2DBFL", 
      "team":1, 
      "clanDBID":500029422, 
      "platoonID":19752025 
     }, 
     "504449266":{ 
      "name":"MirageIVS", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"2DBFL", 
      "team":1, 
      "clanDBID":500029422, 
      "platoonID":19752025 
     }, 
     "507177678":{ 
      "name":"wolrdofAlexis", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"2DBFL", 
      "team":1, 
      "clanDBID":500029422, 
      "platoonID":19752025 
     }, 
     "501356239":{ 
      "name":"drcop", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"GRBB", 
      "team":2, 
      "clanDBID":500063884, 
      "platoonID":19752025 
     }, 
     "516847314":{ 
      "name":"MaXiMiLiAn_Gr", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"GRBB", 
      "team":2, 
      "clanDBID":500063884, 
      "platoonID":19752025 
     }, 
     "517675972":{ 
      "name":"hell_fighter_gr", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"GRBB", 
      "team":2, 
      "clanDBID":500063884, 
      "platoonID":19752025 
     }, 
     "512160116":{ 
      "name":"XmorrayX", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"2DBFL", 
      "team":1, 
      "clanDBID":500029422, 
      "platoonID":19752025 
     }, 
     "507147831":{ 
      "name":"xxx_Anti_xxx", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"2DBFL", 
      "team":1, 
      "clanDBID":500029422, 
      "platoonID":19752025 
     }, 
     "500190361":{ 
      "name":"laskas", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"GRBB", 
      "team":2, 
      "clanDBID":500063884, 
      "platoonID":19752025 
     }, 
     "503220794":{ 
      "name":"Sniker71240", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"2DBFL", 
      "team":1, 
      "clanDBID":500029422, 
      "platoonID":19752025 
     }, 
     "503172799":{ 
      "name":"PuNniShZz", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"2DBFL", 
      "team":1, 
      "clanDBID":500029422, 
      "platoonID":19752025 
     }, 
     "504438396":{ 
      "name":"Oulamagos1980", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"GRBB", 
      "team":2, 
      "clanDBID":500063884, 
      "platoonID":19752025 
     }, 
     "505065980":{ 
      "name":"Fermierdu67", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"2DBFL", 
      "team":1, 
      "clanDBID":500029422, 
      "platoonID":19752025 
     }, 
     "501645375":{ 
      "name":"marcus68510", 
      "prebattleID":19752025, 
      "igrType":0, 
      "clanAbbrev":"2DBFL", 
      "team":1, 
      "clanDBID":500029422, 
      "platoonID":19752025 
     } 
    } 
+1

Das hat nichts mit JSON zu tun. JSON ist eine * textuelle Notation * für den Datenaustausch. Wenn Sie mit PHP-Quellcode arbeiten und sich nicht mit einem * string * befassen, haben Sie es nicht mit JSON zu tun. Sie haben es mit assoziativen Arrays und so zu tun. –

+0

Ok, gut .. Wie würde ich den ClanAbbrev von einem Elternteil bekommen, der Team 2 hat, während die playerID # dynamisch ist? –

+0

Sie müssen das gesamte JSON-Objekt durchlaufen und prüfen, ob das aktuelle Objekt den Wert 2 für team property hat. Wenn true, dann erhalten Sie den Wert von clanAbbrev –

Antwort

1

Zunächst einmal zu bekommen, müssen Sie sicherstellen, dass Sie Ihre JSON assoziatives Array konvertieren mit json_decode, als solche:

json_decode($players, true) 

sonst die Tasten werden Datenmitglieder sein und Sie werden leiden. Dann implementieren eine function wie folgt aus:

function getClanAbbrevByTeam($players, $team) { 
    foreach ($players as $player) { 
     if ($player["team"] == $team) { 
      return $player["clanAbbrev"]; 
     } 
    } 
    return false; //not found 
} 

Die function sucht nach dem ersten Auftreten der Annahme, dass ein Team eine einzige Clan Abkürzung haben könnte. Sie können die function wie folgt anrufen:

$clanAbbrev = getClanAbbrevByTeam(json_decode($players, true)); 
Verwandte Themen