php中json_decode返回数组或对象
转自:http://www.3lian.com/edu/2014/02-11/128395.html
1.json_decode()
json_decode
(PHP 5 >= 5.2.0, PECL json >= 1.2.0)
json_decode — 对 JSON 格式的字符串进行编码
说明
mixed json_decode ( string $json [, bool $assoc ] )
接受一个 JSON 格式的字符串并且把它转换为 PHP 变量
参数
json
待解码的 json string 格式的字符串。
assoc
当该参数为 TRUE 时,将返回 array 而非 object 。
返回值
Returns an object or if the optional assoc parameter is TRUE, an associative array is instead returned.
范例
Example #1 json_decode() 的例子
代码如下 | |
<?php 上例将输出: object(stdClass)#1 (5) { array(5) { $data='[{"Name":"a1","Number":"123","Contno":"000","QQNo":""},{"Name":"a1","Number":"123","Contno":"000","QQNo":""},{"Name":"a1","Number":"123","Contno":"000","QQNo":""}]'; 结果为: Array ( [0] => stdClass Object ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [1] => stdClass Object ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [2] => stdClass Object ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) ) |
可以看出经过json_decode()编译出来的是对象,现在输出json_decode($data,true)试下
代码如下 | |
echo json_decode($data,true); 结果: Array ( [0] => Array ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [1] => Array ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) [2] => Array ( [Name] => a1 [Number] => 123 [Contno] => 000 [QQNo] => ) ) |
可以看出 json_decode($data,true)输出的一个关联数组,由此可知json_decode($data)输出的是对象,而json_decode("$arr",true)是把它强制生成PHP关联数组.
假如我们获取的JSON数据如下:(可以使用curl、fsockopen等方式获取)
代码如下 | |
{ |
一、json_decode返回array的方式:
json_decode($data,true);用json_decode函数返回array的方式得到:
代码如下 | |
Array ) ) |
我们在PHP语言中可以用以下方法取得我们想要的值:
代码如下 | |
<?php |
二、json_decode返回object的方式:
json_decode($data);
用json_decode函数返回object的方式得到:
代码如下 | |
stdClass Object ) ) |
我们在PHP语言中可以用以下方法取得我们想要的值:
代码如下 | |
<?php STR; |
php中json_decode返回数组或对象相关推荐
- php中json_decode返回数组或对象的实例
1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode - 对 JSON 格式的字符串进行 ...
- php 数组 json_decode,php中json_decode返回数组或对象_PHP教程
1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode - 对 JSON 格式的字符串进行 ...
- matlab二重指针,VC++中函数返回数组指针或者带指针的结构体的编译方式是否可取? - 程序语言 - 小木虫 - 学术 科研 互动社区...
libralibra 构造函数+析构函数应该是比较正规的做法吧, 你的结构体/类被提早释放的问题,是不是那个结构体是局部变量,当超出作用域时对象被销毁,如果存在析构函数,会被默认调用, 如果你返回结构 ...
- asp自定义函数可以返回数组或者对象
asp自定义函数可以返回数组或者对象 例子: function GetAuditorInfoBySeqNo(filenostr,strSeqNo) Dim auditorInfo(3) sql ...
- android json字符串转成json对象_在PHP中处理JSON数组以及对象
php中文网最新课程 每日17点准时技术干货分享 在 PHP 中处理 JSON 数组以及对象 与客户端混淆的常见原因是围绕 JSON 数组和对象,以及如何在 PHP 中指定他们.特别是,问题是由空对象 ...
- javascript中对一个对象数组按照对象某个属性进行排序
在javascript中,对象和数组是两种不同的类型,这和php中的数组概念不同.在javascript中,也有一些精妙的算法,用来对一些对象进行排序.我在面试迅雷的时候,也拿到一道题,当时做题的时候 ...
- C++中函数返回数组指针的几种方法总结
因为数组不能被拷贝,所以函数不能返回数组.不过,函数可以返回数组的指针或引用.返回数组指针的方法有以下几种: 1.方法一:使用类型别名.如下 typedef int arrt[ ...
- php中return返回数组,PHP中return返回数组的一点用法
本文就学习中遇到的PHP函数return返回值的问题,这一点return用法进行了说明. 在函数的内部用return返回一个值或者为空来结束函数的运行.但是在return一个数组的时候,也可以在函数的 ...
- js 中 对 复杂数组(包含对象)的去重, 但是 NaN和 null 是无法排除的
其实这个还是 在一个知乎上看到的一个 题目,题主说的话 他面了一个七八年的前端 不会对 复杂数据进行过滤 只会记得 通过Set的方式进行 简单数组的过滤 大概就是 var obj = [ { a: 2 ...
最新文章
- SAP SD基础知识之税(Taxes)
- boost::sort模块实现展开排序示例
- UVA-1045 - The Great Wall Game(二分图最佳匹配)
- memcached安装和php扩展memcache安装
- 童年的飞秋大门已徐徐向我关闭
- Tushare在R中的使用
- AndroidStudio安卓原生开发_UI高级_自定义主题和样式---Android原生开发工作笔记129
- BZOJ4542: [Hnoi2016]大数
- discuz门户文章增加代码高亮
- linux ubuntu 五笔输入法,ubuntu16.04 安装五笔输入法
- 预约小程序开发:小程序开发的费用都包含了哪些?
- QQ企业邮箱和QQ邮箱之间的区别
- 学妹跑过来问我为啥Xshell 打不开了,让我帮她处理下【手把手讲解】
- 用vlookup函数就能判断你的Excel水平处于几段
- 多处理器/多核处理器的并行处理方法之——微线程
- 2021年5月23日哈工大scir笔试
- 关于tomcat启动时的警告 :maxActive is not used inDBCP2
- Android MultiDex实践:如何绕过那些坑?
- 如何删除有外键关系的两张表的数据
- 怎么注册微信公众平台
热门文章
- 维基百科里 的intj 直接复制的html .还是有点乱
- FAQ16:CHM的制作原理
- 计算机专业考研是英语几,计算机考研总分是多少
- wireshark抓包QQ号
- torch的Variable
- 教你简单去除 Office 2007 盗版提示
- InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD
- 申宝正规股票探底回升巨震洗盘
- 视角FOV测试—imatest
- JAVA面试题汇总 一