2016-08-03 2 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

@Epodax 정확히! – 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); 
관련 문제