【问题标题】:Getting data from a multidimentional array (Json)从多维数组(Json)中获取数据
【发布时间】:2016-02-13 12:09:23
【问题描述】:

如何在底部回显 4?

$request_body = '{"id":8801236,"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 />";

我曾尝试在 request_array 上执行 print_r,但老实说,这只会让我更加困惑。我根本看不到这些变量位于哪个数组中。我试图用变量和操作来调用它们,但是唉。

【问题讨论】:

  • 使用foreach()的php

标签: php arrays json string multidimensional-array


【解决方案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 />";
}

【讨论】:

  • 如果对您有帮助,请采纳答案
猜你喜欢
  • 1970-01-01
  • 2018-11-21
  • 2012-07-21
  • 2014-09-20
  • 1970-01-01
  • 1970-01-01
  • 2019-11-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多