-1

json_decode を使用して、JSON 応答から配列を取得しました。

$result = (json_decode($trends,true)); 

これにより、次のことがわかります(EstablishmentDetail配列の結果をすべて含めていません)

Array ( [FHRSEstablishment] => Array ( [Header] => Array ( [#text] => [ExtractDate] => 2012-05-28 [ItemCount] => 5 [ReturnCode] => Success ) [EstablishmentCollection] => Array ( [EstablishmentDetail] => Array ( [0] => Array ( [FHRSID] => 248659 [LocalAuthorityBusinessID] => INS/06/06179 [BusinessName] => Ancient Raj [BusinessType] => Restaurant/Cafe/Canteen [BusinessTypeID] => 1 [AddressLine1] => 26 North Lane, Canterbury, [PostCode] => CT2 7EE [RatingValue] => 3 [RatingKey] => fhrs_3_en-GB [RatingDate] => 2010-11-18 [LocalAuthorityCode] => 180 [LocalAuthorityName] => Canterbury City [Scores] => [SchemeType] => FHRS [Geocode] => )

foreach を使用して BusinessName に到達できると思いました:

foreach ($result->FHRSEstablishment->EstablishmentCollection->EstablishmentDetail as $detail){
    echo $detail['BusinessName'];
}

しかし、私は何の結果も得ていません。

4

1 に答える 1

4

$result問題は、オブジェクトとしてアクセスしていることです。

$result->FHRSEstablishment

json_decodeしかし、2 番目のパラメーターを に設定して呼び出すと、次trueのようにアクセスする必要がある連想配列が返されます。

$result['FHRSEstablishment']['EstablishmentCollection'] //...

with オブジェクト表記にアクセスできるようにしたい場合は、次の$resultように定義する必要があります。

$result = json_decode($trends) //without 2nd parameter = true
于 2012-05-28T13:31:09.970 に答える