2014-01-29 37 views
2

我遇到了一个我没有想到的问题。没关系,当我得到一组数据时,每个元素名称都只有一个say [name],[date],[id],因为我只是把它放到一个变量中,例如$ variable ['name'],但是我有些人说我在一个数组中有3季的数据(所以season1,season2,season3),所以有[名] 3次,或[得分] 3次,因为有1每个季节..分解数组中的多个元素

活生生的例子,以帮助:http://vaughanslater.com/amphios

<?php 
     $summoner_name = 'amphios'; 
     $summoner_id = 21554735; 

     $profile = new riotapi('euw'); 

     $summonername = $profile->getSummonerByName($summoner_name); 
     $json = $summonername; 

     // turns raw data into array 
     $test = json_decode($json, true); 

     // raw data 
     //var_dump(json_decode($json, true)); 

     echo 
     'Summoner name: ' . $test['name'] . '<br />' . 
     'Summoner ID: ' . $test['id'] . '<br />' . 
     'Profile icon ID: ' . $test['profileIconId'] . '<br />' . 
     'Summoner level: ' . $test['summonerLevel'] . '<br />'; 

     echo '<br />'; 
     echo '<br />'; 

     $summonerstats = $profile->getStats($summoner_id); 
     $json2 = $summonerstats; 

     print_r($summonerstats); 

     // turn raw data into array 
     $test2 = json_decode($json2, true); 

     // raw data 
     var_dump(json_decode($json2, true)); 

     echo $test2['totalChampionKills'][0]; 

     //$summonername = $profile->getSummonerByName($summoner_name); 
     //print_r($summonername); 

     //$summonerstats = $profile->getStats($summoner_id, 'ranked'); 
     //print_r($summonerstats); 

     //$getsummoner = $profile->getSummoner($summoner_id, 'name'); 
     //print_r($getsummoner); 

     //$getleague = $profile->getLeague($summoner_id); 
     //print_r($getleague); 
    ?> 

所以这里的“回声”将启动的罚款和工作如何我想,它把JSON数据转换为PHP数组在那里我可以把它放到一个变量中。现在(进一步向下)我想要做同样的事情,但是在一个数组中有三组相同的数据(不同的结果,相同的元素名称)。我将如何解决这个问题?

回答

2

您需要循环它。在解码JSON数据后使用foreach构造。

foreach($test2 as $k=>$v) 
{ 
echo "$k : $v"; 
}