PHP json_decode为什么将json字符串转成数组是对象格式?

eg.

$a='[{\"img\":\"/uploads/agency/carimgs/5/15515954778091.jpg\"},{\"img\":\"/uploads/agency/carimgs/5/15515954774873.jpg\"}]';

如果用json_decode($a),得到的是:

array (size=2)
  0 => 
    object(stdClass)[2]
      public 'img' => string '/uploads/agency/carimgs/5/15515954778091.jpg' (length=44)
  1 => 
    object(stdClass)[3]
      public 'img' => string '/uploads/agency/carimgs/5/15515954774873.jpg' (length=44)

可见,返回的结果是 object 而非 array。应以对象形式访问 ->

 

而对于json_decode这个函数

json_decode() 对JSON数据进行解码,转换为PHP变量
语法:json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
注意:1、$json 为待解码的数据,必须为utf8编码的数据;
   2、$assoc 值为TRUE时返回数组,FALSE时返回对象;
   3、$depth 为递归深度;
   4、$option 二进制掩码,目前只支持 JSON_BIGINT_AS_STRING;
   5、一般只用前面两个参数,如果要数据类型的数据要加一个参数true。

 

所以json_decode($a,true),就会得到

array (size=2)
  0 => 
    array (size=1)
      'img' => string '/uploads/agency/carimgs/5/15515954778091.jpg' (length=44)
  1 => 
    array (size=1)
      'img' => string '/uploads/agency/carimgs/5/15515954774873.jpg' (length=44)

 

posted @   早上六点半遇见五月天  Views(10406)  Comments(0Edit  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示