json_decode对JSON格式的字符串进行编码,而json_encode对变量进行 JSON 编码。下面本篇文章给大家介绍一下json_decode()和json_encode()的使用方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

一、json_encode() 对变量进行JSON编码

语法:

json_encode ( $value [, $options = 0 ] )

注意:

1、$value为要编码的值,且该函数只对UTF8编码的数据有效;

2、options:由以下常量组成的二进制掩码:JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK,JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT;

3、第二个参数一般不需要;

4、json数据其实就是一个string,可以用var_dump()打印出来看数据类型;

5、执行成功返回JSON数据,否则返回FALSE。

eg:

//执行代码$book = array('a'=>'lzichun','b'=>'nihao','c'=>'wohenhao','d'=>'ljlong');$json = json_encode($book);echo $json;//打印出的结果{"a":"lzichun","b":"nihao","c":"wohenhao","d":"ljlong"}

二、json_decode() 对JSON数据进行解码,转换为PHP变量

语法:

json_decode (json[,json [,json[,assoc = false [, $depth = 512 [, $options =0 ]]])

注意:

1、$ json 为待解码的数据,必须为utf8编码的数据;

2、$ assoc 值为TRUE时返回数组,FALSE时返回对象;

3、$ depth 为递归深度;

4、$option 二进制掩码,目前只支持 JSON_BIGINT_AS_STRING;

5、一般只用前面两个参数,如果要数据类型的数据要加一个参数true。

eg:

//执行代码$book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');        $json = json_encode($book);        $array = json_decode($json,TRUE);        $obj = json_decode($json);        var_dump($array);        var_dump($obj);        //打印出的结果array(4) { ["a"]=> string(7) "xiyouji" ["b"]=> string(6) "sanguo" ["c"]=> string(6) "shuihu" ["d"]=> string(11) "hongloumeng" }object(stdClass)#2 (4) { ["a"]=> string(7) "xiyouji" ["b"]=> string(6) "sanguo" ["c"]=> string(6) "shuihu" ["d"]=> string(11) "hongloumeng" }

两个结果看起来没多大区别,但调用里面的元素时,array和obj的方式是不同的。

//执行代码$book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');$json = json_encode($book);$array = json_decode($json,TRUE);$obj = json_decode($json);var_dump($array['b']);//调用数组元素echo '<br/>';var_dump($obj->c);//调用对象元素//打印出的结果string(6) "sanguo"string(6) "shuihu"

本文转载自:https://blog.csdn.net/longgeaisisi/article/details/84665523

推荐学习:PHP视频教程

更多相关文章

  1. 浅谈PHP连接MySQL数据库的三种方式
  2. PHP数据库框架Medoo1.6安装教程
  3. PHP面向对象之3种数据访问方式详解(代码实例)
  4. 关于php变量申明和内存中的存放方式
  5. PHP中如何使用PDO修改数据?
  6. 如何解决php连接erp数据库失败
  7. 如何解决php中curl传递数据太慢
  8. php中的可变变量(代码详解)
  9. PHP环境中使用ProtoBuf数据格式

随机推荐

  1. php怎么读取MYSQL数据到radio选项
  2. 计算他们自动放入全列的两列
  3. mysql安装后不能重新修改目录文件夹的名
  4. mysql 常用字段和占用 字节数
  5. mysql数据库拷贝到另一个服务器上
  6. 是否会添加不必要的比较以获得结果但是减
  7. mysql-5.7.22-winx64 mysql 安装笔记
  8. 如何在产品和类别应用程序树中将1个表连
  9. myisam 表中, 删除数据后运行 OPTIMIZE T
  10. MySQL索引的基础初识