php中json_decode和var_export的参数用法
发布:smiling 来源: PHP粉丝网 添加日期:2013-12-02 16:37:11 浏览: 评论:0
无论是json_decode还是var_export都是有第二个参数的,以前从来没有注意过,T_T.而且,这个var_export函数也是第一次知道,基础啊,还是不扎实。
json_decode:(PHP 5 >= 5.2.0, PECL json:1.2.0-1.2.1)
json_decode — 对 JSON 格式的字符串进行编码
说明:mixed json_decode ( string $json [, bool $assoc ] ),接受一个 JSON 格式的字符串并且把它转换为 PHP 变量,以前用json都是用做ajax处理的数据格式,今天合作方给的接口返回的数据格式就是json的,当时还在想,这玩意返回的是object,可以直接用做javascript里面的,可是在php里面咋把这个对象转为数组呢?抓耳挠腮半天,还是决定去看手册。不看不知道,一看吓一跳,原来这玩意还有第二个参数,如果传为true的话,解码后的数据就变成数组了,Happy啊。
当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串,而当array是不从0开始或者不连续的数组时,json_encode出来的结果是一个由{}括起来的key-value模式的字符串
- $test = array();
- $test[] = 1;
- $test[] = 1;
- $test[] = 1;
- DEBUG(json_encode($test));结果:
- [1,1,1]
- $test = array();
- $test[] = 1;
- $test[] = 1;
- $test[] = 1;
- unset($test[0]);
- DEBUG(json_encode($test));
结果:{"1":1,"2":1}2.当字符串为[1,1,1] 这种模式时,json_decode默认解析出来的结果是一个数组,当字符串为{"1":1,"2":1} 这种模式时,json_decode默认解析出来的结果是一个对象,此时可以设置它的第二个参数为true强制让它返回数组
3.由于php无法区分一维数组和二维数组,才会出现以上情况,因为使用json编码时推荐将第二个参数设置为true.
想把重新弄好的数据存在文件里,数据格式是数组,之前的方法都是serialize,取出来的时候再反序列化,今天犯懒,就想能不能直接把数组存在文件里呢?
可是数组的格式实在不好拼,尤其是关联数组,那下标,我要是全知道的话不得累死我?还是问Google大哥吧。
var_export(PHP 4 >= 4.2.0, PHP 5)
var_export — 输出或返回一个变量的字符串表示
描述:mixed var_export ( mixed $expression [, bool $return ] ),此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码。
您可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示,看到没?这个函数,帅呆了,之前一直用var_dump,不知道姓var的还有这么个玩意,不错,不错的说。
- $handle = fopen($file_name, 'w+');
- fwrite($handle,'."n".'$datas= '.var_export($result).";n?>");
- fclose($handle);
结果一用的时候,还是有问题,该函数把数组的内容给我输出到页面上了,而文件内是啥都米有,这不闹呢吗?如果只是这样的话,我为啥用它啊?在页面上显示,我用
多爽啊。正郁闷呢,仔细一看原来这个函数也有第二个参数,作用和json_decode的一样,看来我这粗心的毛病还是很严重滴。
- $handle = fopen($file_name, 'w+');
- fwrite($handle,'."n".'$datas= '.var_export($result,true).";n?>");
- fclose($handle);
实例代码如下:
- $res = yblog_mspconfiginit("ratings");
- var_dump($res);
- var_export($res);
- /*结果:resource(1) of type (yahoo_yblog)NULL*/
再比如:代码如下
- $res = fopen('status.html', 'r');
- var_dump($res);
- var_export($res);
- /*结果:resource(2) of type (stream)NULL*/
var_export必须返回合法的php代码, 也就是说,var_export返回的代码,可以直接当作php代码赋值个一个变量。 而这个变量就会取得和被var_export一样的类型的值
Tags: json_decode var_export 参数
相关文章
- ·PHP中json_encode、json_decode与serialize、unserialize(2014-08-17)
- ·php中json_encode()和json_decode()的用法(2015-04-15)
- ·PHP中print_r、var_export、var_dump用法介绍(2014-01-16)
- ·php var_export 与 var_dump的分析区别(2014-05-14)
- ·var_export函数的使用方法(2014-09-18)
- ·输出合法php格式文件 var_export(2014-09-20)
- ·php格式输出文件var_export函数实例(2021-04-26)
- ·php获取url参数程序代码总结(2014-01-17)
- ·php获取当前url 与 获取url参数(2014-06-05)
- ·php防注入过滤客户提交$_GET 和$_POST参数(2014-08-23)
- ·php str_replace 函数参数为数组时的使用(2014-09-13)
- ·php date()函数各参数详解(2014-09-13)
- ·php函数与传递参数(2014-09-20)
- ·php指定函数参数默认值示例代码(2020-07-13)
- ·php函数与传递参数实例分析(2021-04-26)
- ·php定义参数数量可变的函数用法实例(2021-05-16)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)