Sponsor-Board.de

Normale Version: Multidimensionaler Array
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
E: Nach dem schreiben hab ich den Fehler selber gefunden... Tut mir leid wegen den 500 Pkten D:

Hiho Leute,
ich stör euch mal wieder Biggrin
Ich hab hier einen kleinen Array, welcher wie folgt aussieht:

Zitat:
Array ( [status] => ok [count] => 1 [data] => Array ( [503790653] => Array ( [clan] => Array ( [role_i18n] => Rekrut [clan_id] => 500026590 [role] => recruit [since] => 1387271658 ) [achievements] => Array ( [tank_expert_uk] => 0 [medal_dumitru] => 0 [invader] => 21 [medal_lehvaslaiho] => 0 [warrior] => 24 [medal_halonen] => 1 [medal_pascucci] => 3 [medal_orlik] => 0 [medal_brothers_in_arms] => 5 [mousebane] => 0 [tank_expert_france] => 1 [mechanic_engineer_ussr] => 0 [medal_bruno_pietro] => 1 [medal_delanglade] => 1 [lucky_devil] => 6 [defender] => 7 [armor_piercer] => 1 [medal_kay] => 2 [supporter] => 15 [mechanic_engineer] => 0 [steelwall] => 146 [max_sniper_series] => 218 [medal_knispel] => 1 [medal_boelter] => 0 [medal_ekins] => 2 [medal_heroes_of_rassenay] => 0 [medal_tamada_yoshio] => 0 [tank_expert_usa] => 1 [mechanic_engineer_germany] => 0 [max_piercing_series] => 95 [tank_expert] => 0 [iron_man] => 42 [medal_radley_walters] => 2 [kamikaze] => 16 [tank_expert_germany] => 1 [beasthunter] => 5 [sniper] => 94 [medal_tarczay] => 0 [medal_lavrinenko] => 2 [mechanic_engineer_france] => 0 [medal_oskin] => 0 [medal_burda] => 0 [medal_billotte] => 0 [huntsman] => 0 [hand_of_death] => 1 [medal_fadin] => 2 [medal_lafayette_pool] => 0 [max_killing_series] => 7 [tank_expert_china] => 1 [mechanic_engineer_usa] => 0 [medal_kolobanov] => 0 [patton_valley] => 0 [bombardier] => 1 [medal_abrams] => 2 [max_invincible_series] => 2 [medal_poppel] => 2 [medal_crucial_contribution] => 0 [raider] => 0 [max_diehard_series] => 4 [mechanic_engineer_uk] => 0 [invincible] => 0 [lumberjack] => 0 [sturdy] => 46 [title_sniper] => 1 [sinai] => 4 [diehard] => 0 [medal_carius] => 2 [medal_le_clerc] => 2 [tank_expert_ussr] => 0 [evileye] => 5 [mechanic_engineer_china] => 0 [medal_nikolas] => 0 [scout] => 20 ) [statistics] => Array ( [clan] => Array ( [spotted] => 5 [hits] => 26 [battle_avg_xp] => 226 [draws] => 1 [wins] => 4 [losses] => 16 [capture_points] => 0 [battles] => 21 [damage_dealt] => 17403 [hits_percents] => 30 [damage_received] => 19550 [shots] => 88 [xp] => 4746 [frags] => 5 [survived_battles] => 4 [dropped_capture_points] => 0 ) [all] => Array ( [spotted] => 13541 [hits] => 41394 [battle_avg_xp] => 397 [draws] => 144 [wins] => 5499 [losses] => 5712 [capture_points] => 15616 [battles] => 11355 [damage_dealt] => 6973453 [hits_percents] => 50 [damage_received] => 9040206 [shots] => 82206 [xp] => 4505589 [frags] => 6693 [survived_battles] => 1721 [dropped_capture_points] => 3651 ) [company] => Array ( [spotted] => 244 [hits] => 676 [battle_avg_xp] => 261 [draws] => 4 [wins] => 88 [losses] => 155 [capture_points] => 377 [battles] => 247 [damage_dealt] => 81357 [hits_percents] => 54 [damage_received] => 149342 [shots] => 1242 [xp] => 64540 [frags] => 99 [survived_battles] => 52 [dropped_capture_points] => 175 ) [max_xp] => 1944 ) [account_id] => 503790653 [created_at] => 1338832166 [updated_at] => 1388269494 [private] => Array ( [restrictions] => Array ( [chat_ban_time] => [clan_time] => ) [account_type] => guest [gold] => 0 [free_xp] => 3267 [credits] => 163104 [is_bound_to_phone] => 1 [is_premium] => 1 [ban_time] => [premium_expires_at] => 1389811066 [account_type_i18n] => Gast-Konto [friends] => Array ( [0] => 502213680 [1] => 504244299 [2] => 502667197 [3] => 502824046 [4] => 503289511 [5] => 509517546 [6] => 502135019 [7] => 502967616 [8] => 502000517 [9] => 502161820 [10] => 506318210 [11] => 504248264 ) [ban_info] => ) [nickname] => tank_destroyer2012 ) ) )


Ich will jetzt aber nicht den kompletten Array nutzen, sondern bloß die dickmarkierten Felder.

Bin aber zu dumm, die Felder alle auszulesen.
Hier meine Abfrage:

PHP-Code:
$clan $array['data'][503790653]['clan']; 


Alternativ wär eine JSON-Abfrage, wo ich allerdings nicht weiß wie umzusetzen. Momentan generier ich den Array wie folgt:

PHP-Code:
session_start();
 
$url "https://api.worldoftanks.eu/wot/account/info/?application_id=".$app_id."&language=de&access_token=".$_SESSION['key']."&account_id=".$_SESSION['uid'];
$seite file_get_contents($url);
$array json_decode($seitetrue);
print_r($array); 


Das is die JSON-Antwort:

Code:
{
    "status": "ok",
    "count": 1,
    "data": {
        "503790653": {
            "clan": {
                "role_i18n": "Recruit",
                "clan_id": 500026590,
                "role": "recruit",
                "since": 1387271658
            },
            "achievements": {
                "tank_expert_uk": 0,
                "medal_dumitru": 0,
                "invader": 21,
                "medal_lehvaslaiho": 0,
                "warrior": 24,
                "medal_halonen": 1,
                "medal_pascucci": 3,
                "medal_orlik": 0,
                "medal_brothers_in_arms": 5,
                "mousebane": 0,
                "tank_expert_france": 1,
                "mechanic_engineer_ussr": 0,
                "medal_bruno_pietro": 1,
                "medal_delanglade": 1,
                "lucky_devil": 6,
                "defender": 7,
                "armor_piercer": 1,
                "medal_kay": 2,
                "supporter": 15,
                "mechanic_engineer": 0,
                "steelwall": 146,
                "max_sniper_series": 218,
                "medal_knispel": 1,
                "medal_boelter": 0,
                "medal_ekins": 2,
                "medal_heroes_of_rassenay": 0,
                "medal_tamada_yoshio": 0,
                "tank_expert_usa": 1,
                "mechanic_engineer_germany": 0,
                "max_piercing_series": 95,
                "tank_expert": 0,
                "iron_man": 42,
                "medal_radley_walters": 2,
                "kamikaze": 16,
                "tank_expert_germany": 1,
                "beasthunter": 5,
                "sniper": 94,
                "medal_tarczay": 0,
                "medal_lavrinenko": 2,
                "mechanic_engineer_france": 0,
                "medal_oskin": 0,
                "medal_burda": 0,
                "medal_billotte": 0,
                "huntsman": 0,
                "hand_of_death": 1,
                "medal_fadin": 2,
                "medal_lafayette_pool": 0,
                "max_killing_series": 7,
                "tank_expert_china": 1,
                "mechanic_engineer_usa": 0,
                "medal_kolobanov": 0,
                "patton_valley": 0,
                "bombardier": 1,
                "medal_abrams": 2,
                "max_invincible_series": 2,
                "medal_poppel": 2,
                "medal_crucial_contribution": 0,
                "raider": 0,
                "max_diehard_series": 4,
                "mechanic_engineer_uk": 0,
                "invincible": 0,
                "lumberjack": 0,
                "sturdy": 46,
                "title_sniper": 1,
                "sinai": 4,
                "diehard": 0,
                "medal_carius": 2,
                "medal_le_clerc": 2,
                "tank_expert_ussr": 0,
                "evileye": 5,
                "mechanic_engineer_china": 0,
                "medal_nikolas": 0,
                "scout": 20
            },
            "statistics": {
                "clan": {
                    "spotted": 5,
                    "hits": 26,
                    "battle_avg_xp": 226,
                    "draws": 1,
                    "wins": 4,
                    "losses": 16,
                    "capture_points": 0,
                    "battles": 21,
                    "damage_dealt": 17403,
                    "hits_percents": 30,
                    "damage_received": 19550,
                    "shots": 88,
                    "xp": 4746,
                    "frags": 5,
                    "survived_battles": 4,
                    "dropped_capture_points": 0
                },
                "all": {
                    "spotted": 13541,
                    "hits": 41394,
                    "battle_avg_xp": 397,
                    "draws": 144,
                    "wins": 5499,
                    "losses": 5712,
                    "capture_points": 15616,
                    "battles": 11355,
                    "damage_dealt": 6973453,
                    "hits_percents": 50,
                    "damage_received": 9040206,
                    "shots": 82206,
                    "xp": 4505589,
                    "frags": 6693,
                    "survived_battles": 1721,
                    "dropped_capture_points": 3651
                },
                "company": {
                    "spotted": 244,
                    "hits": 676,
                    "battle_avg_xp": 261,
                    "draws": 4,
                    "wins": 88,
                    "losses": 155,
                    "capture_points": 377,
                    "battles": 247,
                    "damage_dealt": 81357,
                    "hits_percents": 54,
                    "damage_received": 149342,
                    "shots": 1242,
                    "xp": 64540,
                    "frags": 99,
                    "survived_battles": 52,
                    "dropped_capture_points": 175
                },
                "max_xp": 1944
            },
            "account_id": 503790653,
            "created_at": 1338832166,
            "updated_at": 1388269494,
            "private": null,
            "nickname": "tank_destroyer2012"
        }
    }
}

Wenn das mit dem JSON einfacher geht, geb ich demjenigen, der mir die Lösung gibt 500Pkte, wenn mir jmd die Möglichkeit mit dem Array zeigt, ebenfalls 500 Pkte. Bitte beachten, das dies mein erster Versuch mit einer API ist Wink

Referenz-URLs