【问题标题】:How to extract values from json array in php the right way如何以正确的方式从php中的json数组中提取值
【发布时间】:2020-08-16 11:55:19
【问题描述】:

我正在尝试从 JSON 中提取以下数组列表的值,这对我不起作用,因为我在所有选项中尝试了 json_decode 并检查了此论坛中的所有随机答案没有人似乎符合我的问题。

这是我尝试过的代码

$someArray = json_decode($result, true);
 print_r($someArray);
  foreach ($someArray as $key => $value) {
    echo $value["account_number"]  .', '.$value["account_name"] "<br>";
  }

这是上面代码的结果

Array ( [status] => 1 [message] => Account number resolved [data] => Array ( [account_number] => 20640888125 [account_name] => John Doe [bank_id] => 18 ) )

Warning: Illegal string offset 'account_name' in C:\xampp\htdocs\apks\bankre.php on line 24
A

我实际上无法分别获取每个值 我知道我做的不对,我错过了什么?

【问题讨论】:

  • 我认为你可以循环 $someArray["data"]

标签: php arrays json extract associative-array


【解决方案1】:

您正在尝试索引不是数组的值,因为 status1messageAccount number resolved

如果要打印键 data 的数组,则不必索引,但可以只打印键和值:

foreach ($someArray["data"] as $key => $value) {
    echo $key . ', ' . $value . "<br>";
}

输出

account_number, 20640888125
account_name, John Doe
bank_id, 18

查看演示 https://3v4l.org/0flvj

要通过索引访问值,您可以先检查它是否为数组:

foreach ($someArray as $key => $value) {
    if (is_array($value)) {
        echo $value["account_number"] . ', ' . $value["account_name"] . "<br>";
    }
}

查看另一个演示 https://3v4l.org/lpEtW

【讨论】:

  • 你们做得很好......像魔术一样工作,感谢你们所有人@the-fourth-bird
猜你喜欢
  • 1970-01-01
  • 2022-11-11
  • 2012-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多