2016-08-03 19 views
-2

多次元配列から配列の値を取得したいと思います。私はPHPのjson_decode()関数を使ってデコードしたAPIからのjson応答を持っていて、データを反復するためにループを使いたいとしましょう。PHPを使って多次元配列で値を取得

$string = $response; 
$json_a = json_decode($string, true); 


foreach($json_a['withdrawals'] as $item) { 

    echo $item['withdrawalId']['amount']['currencyCode']. '<br/>'; 
    echo $item['withdrawalId']['terminal']['tid']. '<br/>'; 
    echo $item['withdrawalId']['user']['mid']. '<br/>'; 
    echo $item['servicefee']['masterMerchant']['name']. '<br/>'; 
    echo $item['servicefee']['masterMerchant']['address']['address1']. '<br/>'; 
    } 
} 

print_r($json_a); 

ここには配列のプリントアウトがあります。

{ 
    "limit": 1, 
    "offset": 0, 
    "totalTransactionsCount": 5040, 
    "acceptedTotalTransactionsCount": 4428, 
    "acceptedTotalTransactionsValue": 2438928.04, 
    "rejectedTotalTransactionsCount": 612, 
    "rejectedTotalTransactionsValue": 499294.04, 
    "withdrawals": [ 
    { 
     "withdrawalId": "764353634316", 
     "status": "approval", 
     "dateTime": "2016-04-28T09:31:38.145Z", 
     "localDateTime": "2016-04-28 17:31:38", 
     "accountType": "CURRENT", 
     "additionalInfo": "approved", 
     "batch": "000029", 
     "smscount": 0 
     "amount": { 
       "currencyCode": "EUR", 
       "value": "399.99" 
     }, 
     "terminal": { 
       "tid": "88133332", 
       "serialNumber": "45435435" 
     }, 
     "user": { 
       "name": "John Doe", 
       "email": "[email protected]", 
       "phoneNumber": "546546546", 
       "role": "OPERATOR", 
       "subMerchant": { 
       "name": "Submerchant XXY", 
       "mid": "MID0000" 
        "serviceFee": { 
          "name": "rsf", 
          "merchantFee": "10.0" 
        }, 
        "masterMerchant": { 
          "name": "Master Merchant", 
          "address": { 
            "address1": "Mainstreet", 
            "city": "Cork", 
            "postcode": "Cork", 
          "country": { 
            "countryName": "Philippines", 
            "countryCode": "PH", 
            "currencyName": "Philippines Peso", 
            "currencyCode": "PHP", 
           } 
          } 
        }, 
        "address": { 
         "address1": "Mainstreet", 
         "city": "Cork", 
         "postcode": "Cork", 
         "country": { 
           "countryName": "Philippines", 
           "countryCode": "PH", 
           "currencyName": "Philippines Peso", 
           "currencyCode": "PHP", 
          } 
        } 
       } 
     } 
     }]} 
+5

、質問は何ですか? – Epodax

+0

@エポダックス まさに! – Akshay

答えて

0

はこのようにそれを書く: - だから、

$string = $response; 
$json_a = json_decode($string, true); 


    foreach($json_a['withdrawals'] as $item) { 
     echo $item['withdrawalId']. '<br/>'; 

     echo $item['amount']['currencyCode']. '<br/>'; 
     echo $item['terminal']['tid']. '<br/>'; 
     echo $item['user']['mid']. '<br/>'; 
     echo $item['user']['masterMerchant']['name']. '<br/>'; 
     echo $item['user']['masterMerchant']['address']['address1']. '<br/>'; 
     } 
    } 

    print_r($json_a);