2015-11-12 3 views
0

Как эхо 4 в нижней части?Получение данных из многомерного массива (Json)

$request_body = '{"id":88,"order_id":"1854071","accepted":true,"type":"Payment","text_on_statement":null,"branding_id":null,"variables":{},"currency":"USD","state":"pending","operations": 

[{"id":1,"type":"authorize","amount":8996,"pending":false,"qp_status_code":"20000","qp_status_msg":"Approved","aq_status_code":"000","aq_status_msg":"Approved","data": 

{},"callback_url":"http://www.mywebsite/callback.php","callback_success":true,"callback_response_code":"200","created_at":"2015-11-11T13:32:22+00:00"}, 

{"id":2,"type":"capture","amount":8863,"pending":true,"qp_status_code":null,"qp_status_msg":null,"aq_status_code":null,"aq_status_msg":null,"data": 

{},"callback_url":null,"callback_success":null,"callback_response_code":null,"created_at":"2015-11-11T14:37:18+00:00"}],"metadata": 

{"type":"card","brand":"visa","last4":"0008","exp_month":1,"exp_year":2019,"country":"US","is_3d_secure":false,"hash":"fdsfsdfsdf4ds65f4dsf65ds4" 

,"number":null,"customer_ip":"8.1.1.21","customer_country":"US","fraud_suspected":false,"fraud_remarks": 

[]},"link":null,"shipping_address":null,"invoice_address":null,"test_mode":true,"acquirer":"nets","facilitator":null,"created_at":"2015-11-11T13:32:13Z","balance":0}'; 

$request_array = json_decode($request_body, TRUE); 

echo $request_array['qp_status_code']."<br />"; 
echo $request_array['qp_status_msg']."<br />"; 
echo $request_array['aq_status_code']."<br />"; 
echo $request_array['aq_status_msg']."<br />"; 

Я попытался сделать print_r на request_array, но, честно говоря, что только меня смущает больше. Я просто не вижу, какой массив находится в этой переменной. Я попытался назвать их как переменными, так и операциями, но, увы.

+1

использование 'Еогеасп()' РНР – aldrin27

ответ

1

Фид JSON имеет более одного «операции» означает, что вы можете называть их так (чтобы получить первый только):

echo $request_array['operations'][0]['qp_status_code']."<br />"; 
echo $request_array['operations'][0]['qp_status_msg']."<br />"; 
echo $request_array['operations'][0]['aq_status_code']."<br />"; 
echo $request_array['operations'][0]['aq_status_msg']."<br />"; 

Или, если вам нужны все из них нужно петли в нем :

foreach ($request_array['operations'] as $operation) { 
    echo $operation['aq_status_msg']."<br />"; 
} 
+0

Бинго, спасибо ^^ –

+0

Принять ответ, если он вам помог –