PHP:我如何获得此JSON的值?

时间:2016-03-07 20:56:16

标签: php json

我试图在Json中获得团队的价值,我试过下面的代码,但它返回NULL,有什么想法吗?

enter image description here

<?php

$url = 'http://bristolrugby.matchdaylive.com/tools/ajax/cache.php?';
$url.= 'type=Fixture&format=json&TeamId=25&Source=sfms&module=StatsRugbyMDS&CompSeason=2015&project=bristol';


$response = json_decode(file_get_contents($url));
$fixture_array = $response;

var_dump ($fixture_array->SoticFeed->Fixtures->Fixture[0]->Teams->Team);

echo '<br/><hr>';

$fix = $fixture_array->SoticFeed->Fixtures;

 foreach($fix as $fix){

print  $fix->Fixture->Teams->Team->TmnmDisplay . "<hr>";

}
?>

2 个答案:

答案 0 :(得分:1)

您似乎对数据结构感到困惑。你的最后一个循环是错误的,我认为它应该是这样的:

$fix = $fixture_array->SoticFeed->Fixtures->Fixture;
foreach($fix as $fix_detail){
    foreach($fix_detail->Teams->Team as $team){
        print  $team->TmnmDisplay . "<hr>";
    }
}

这假设您要显示所有团队的名称。如果这不是您的意图,请告诉我。

答案 1 :(得分:0)

你好你的Json响应在数组中的数组中返回数组,这意味着你必须遍历每个键,让我向你解释更多

如果你

print_r($response["SoticFeed]")

您将获得Array in Array,现在再次

print_r($response["SoticFeed"]["Fixtures"])

再次你会得到数组,现在是最后一部分

foreach($response["SoticFeed"]["Fixtures"]["Fixture"] as $key=>$value){

print_r($value)


}
相关问题