【问题标题】:how read array Multidimensional by key in php如何在php中按键读取数组多维
【发布时间】:2019-01-12 17:02:04
【问题描述】:

这是我对服务器的要求

Array ( [id] => 123 [status] => pending [recipient] => Array ( [account_id] => 5000 [gateway_id] => 51111 ) [amount] => Array ( [value] => 2 [currency] => RUB ) [description] => order test 1 [payment_method] => Array ( [type] => bank_card [id] => 123 [saved] => ) [created_at] => 2018-08-05T14:44:59+00:00 [confirmation] => Array ( [enforce] => [confirmation_url] => https://money.com/1234566 [type] => redirect ) [paid] => ) 

我怎样才能得到 confirmation_url 字符串?

tnx

【问题讨论】:

  • 你是print_r()'ing 结果,并且你想在你的javascript中解析那个字符串吗?这是 json_encode() (PHP) 和 JSON.parse() (javascript) 专门设计的。
  • 这个 print_r 导致 php ,当我使用 $json[confirmation] return Array ( [enforce] => [confirmation_url] => money.com/1234566 [type ] => 重定向) 但我需要获得确认 URL
  • 这个问题很不清楚:你是怎么得到这个的?你在哪里呼应它?这是通过 AJAX 的 API 调用,还是只是在之后回显 PHP?
  • @FrankerZ 与print_r非常相似
  • @NaeimRezaeian [enforce] => [confirmation_url] 这很奇怪

标签: php arrays json multidimensional-array


【解决方案1】:

你可以访问像

$array['confirmation']['confirmation_url']

【讨论】:

  • tnx 很多帮助
【解决方案2】:

首先,您需要将其保存为变量。所以,假设数组来自一个名为“validateTransaction()”的 CURL 函数;

$result = validateTransaction();
$confirmationUrl = $result['confirmation']['confirmation_url'];

作为专业提示 - 我更喜欢使用 'json_encode($result);'将数组放入可读格式,然后将输入放入名为http://jsonselector.com 的精彩站点,您可以在其中选择值并查看正确的“选择器”以从数组中获取值。

当然,这并不能真正告诉我们如何您获得该数据响应。

如果它被格式化为 XML 并且您使用 SimpleXmlElement 解析它,那么您可以执行 json_decode(json_encode($result),true);将 XML 元素转换为“正确的”数组。

【讨论】:

    猜你喜欢
    • 2016-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-07
    • 2013-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多