You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中如何读取JSON解码后的数组?正确访问语法咨询

如何正确访问json_decode返回的关联数组?

嘿,刚学PHP的话很容易搞混数组和对象的访问方式,我来帮你理清楚!

你现在用的是json_decode($MyJSON, true),这里的第二个参数true告诉PHP要把JSON解码成关联数组,而不是PHP对象。所以你不能用对象的->访问符号,得用数组的方括号[]语法来取值。

正确的数组访问语法

直接用数组键名的方式层层访问:

// 你的$JSON是关联数组,所以用[]访问
echo $JSON['test'][0]['predicate']['val'];

如果想用->访问怎么办?

要是你更习惯用对象的->语法,只需要去掉json_decode的第二个参数(或者把它设为false,这是默认值),这样解码后会返回一个stdClass对象,这时候你原来的写法就完全生效了:

// 不传递第二个参数,返回对象
$JSON = json_decode($MyJSON);
// 现在可以用->访问
echo $JSON->test[0]->predicate->val;

快速区分两种方式

  • 当json_decode($json, true):返回关联数组,用$arr['key']访问
  • 当json_decode($json)(或json_decode($json, false)):返回对象,用$obj->key访问

内容的提问来源于stack exchange,提问作者Shez Ratnani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:02:22