2011-11-16 12 views
1

私は$ json = json_decode($ curl_result)のようなjsonデコード配列を持っています。 foreachループを使用してこの配列をフェッチする方法と私はできるだけ配列のループを減らしたい。これらの値にアクセスできる正しいコードを書くことができますか?php foreachループを使用してjsonデコード配列を取得します

配列は今、私はそれぞれ、この配列の値が、どのように取得したい

Array 
    (
    [SITEResponse] => Array 
    (
     [@version] => 1.0 
     [SoftwareProducts] => Array 
     (
      [@numFound] => 408 
      [@numReturned] => 10 
      [@start] => 0 
      [SoftwareProduct] => Array 
      (
       [0] => Array 
        (
        [Summary] => Array 
        (
         [$] => summery of software. 
        ) 
        [Requirements] => Array 
        (
        ) 

        [ContentIds] => Array 
        (
        ) 

        [CleverBridgeUrl] => Array 
        (
        ) 

        [BuyNowUrl] => Array 
        (
         [$] => http://www.abc.com 
         [@type] => dl_buy_pub 
        ) 

        [BetaRelease] => Array 
        (
         [$] => false 
        ) 

        [LinkURL] => Array 
        (
        [$] => http://www.abc.com 
        ) 
       )  
      ) 
     ) 
    ) 
) 

以下のように見ています?ありがとうございます ありがとうございます。

+0

使用foreachループ... – insomiac

+0

それは、動的な方法であなたに出力を与える関数を作成します –

+0

機能していません。たとえば :foreachの($キー=> $ valのように$のJSON){ 場合(IS_ARRAY($ valの)){ CALL ARRAYをスキャンFUNCTION .. } }エルス あなたが指定することにより、静的にそれを行うことができますその配列名: $出力['SITEResponse']は配列 $出力['SITEResponse'] ['version']は1.0 になります同様にこの他の値を行うことができます.. – insomiac

答えて

1
$version = $json['SITEResponse']['@version']; 
$numFound = $json['SITEResponse']['SoftwareProducts']['@numFound']; 
... 
... 

foreach($json['SITEResponse']['SoftwareProducts']['SoftwareProduct'] as $key=>$product){ 
$Summary= $product['Summary']['$']; 
$BuyNowUrl = $product['BuyNowUrl']['$']; 
... 
... 
... 
} 
関連する問題