首页 后端开发 php教程 php中json_decode和var_export的参数用法_PHP教程

php中json_decode和var_export的参数用法_PHP教程

Jul 13, 2016 am 10:56 AM
decode export json php var 主要 关于 参数 文章 用法

本文章主要讲述了关于php中json_decode和var_export的第二个参数的用法,有需要了解php中json_decode和var_export用法的朋友也可以参考一下下。

无论是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,'");
fclose($handle);

结果一用的时候,还是有问题,该函数把数组的内容给我输出到页面上了,而文件内是啥都米有,这不闹呢吗?如果只是这样的话,我为啥用它啊?在页面上显示,我用

<pre class="brush:php;toolbar:false">多爽啊。正郁闷呢,仔细一看原来这个函数也有第二个参数,作用和json_decode的一样,看来我这粗心的毛病还是很严重滴。
<p> </p>
登录后复制
 代码如下 复制代码
$handle = fopen($file_name, 'w+');
fwrite($handle,'");
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一样的类型的值

但是, 当变量类型为resource的时候, 是无法简单copy复制的,所以, 当var_export的变量是resource类型时, var_export会返回NULL

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632205.htmlTechArticle本文章主要讲述了关于php中json_decode和var_export的第二个参数的用法,有需要了解php中json_decode和var_export用法的朋友也可以参考一下下。 无论...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 适用于 Ubuntu 和 Debian 的 PHP 8.4 安装和升级指南 Dec 24, 2024 pm 04:42 PM

PHP 8.4 带来了多项新功能、安全性改进和性能改进,同时弃用和删除了大量功能。 本指南介绍了如何在 Ubuntu、Debian 或其衍生版本上安装 PHP 8.4 或升级到 PHP 8.4

CakePHP 日期和时间 CakePHP 日期和时间 Sep 10, 2024 pm 05:27 PM

为了在 cakephp4 中处理日期和时间,我们将使用可用的 FrozenTime 类。

CakePHP 文件上传 CakePHP 文件上传 Sep 10, 2024 pm 05:27 PM

为了进行文件上传,我们将使用表单助手。这是文件上传的示例。

讨论 CakePHP 讨论 CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP 是 PHP 的开源框架。它的目的是使应用程序的开发、部署和维护变得更加容易。 CakePHP 基于类似 MVC 的架构,功能强大且易于掌握。模型、视图和控制器 gu

CakePHP 创建验证器 CakePHP 创建验证器 Sep 10, 2024 pm 05:26 PM

可以通过在控制器中添加以下两行来创建验证器。

CakePHP 日志记录 CakePHP 日志记录 Sep 10, 2024 pm 05:26 PM

登录 CakePHP 是一项非常简单的任务。您只需使用一项功能即可。您可以记录任何后台进程(如 cronjob)的错误、异常、用户活动、用户采取的操作。在 CakePHP 中记录数据很容易。提供了 log() 函数

如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 如何设置 Visual Studio Code (VS Code) 进行 PHP 开发 Dec 20, 2024 am 11:31 AM

Visual Studio Code,也称为 VS Code,是一个免费的源代码编辑器 - 或集成开发环境 (IDE) - 可用于所有主要操作系统。 VS Code 拥有针对多种编程语言的大量扩展,可以轻松编写

CakePHP 服务 CakePHP 服务 Sep 10, 2024 pm 05:26 PM

本章介绍有关 CakePHP 中可用的身份验证过程的信息。

See all articles