php变量与json格式数据相互转换
上篇文章我们介绍了《掌握PHP中的array数组(附代码解析)》,本篇文章我们来介绍json
,json
是一种轻量级的数据交换格式,已经被绝大数语言广泛使用,在php
中与前端进行数据交换便使用json
格式的数据,那么如何在php中将变量与json格式相互转换,本文就带大家一起来看一看。在php
中使用json需要用到两个函数json_encode
、json_decode。
1.json_decode
json_decode ( string $json , bool $assoc = false , int $depth = 512 , int $options = 0 )
-
$json:待解码的 json string 格式的字符串。这个函数仅能处理 UTF-8 编码的数据。
-
assoc:当该参数为 true 时,将返回 array 而非 object 。
-
depth:指定递归深度。
-
options:由常量组成的掩码。
-
返回值:通过恰当的 PHP 类型返回在 json中编码的数据。
2.json_encode
json_encode ( mixed $value , int $options = 0 , int $depth = 512 )
-
value:待编码的 value ,除了 资源(resource)类型之外,可以为任何数据类型。所有字符串数据的编码必须是 UTF-8。
-
options:由以下常量组成的二进制掩码
-
depth:设置最大深度。 必须大于0。
-
返回值:成功则返回 JSON 编码的 string 或者在失败时返回 false 。
代码实例:
<?php $arr = array ('a'=>"sdf",'b'=>2,'c'=>"dfasd",'d'=>4,'e'=>5); echo json_encode($arr); echo "<br>"; $js=json_encode($arr); var_dump(json_decode($js)); ?>
输出: {"a":"sdf","b":2,"c":"dfasd","d":4,"e":5} object(stdClass)#1 (5) { ["a"]=> string(3) "sdf" ["b"]=> int(2) ["c"]=> string(5) "dfasd" ["d"]=> int(4) ["e"]=> int(5) }
推荐:《2021年PHP面试题大汇总(收藏)》《php视频教程》