了解PHP中json_encode与json_decode的区别

了解PHP中json_encode与json_decode的区别

了解PHP中json_encode与json_decode的区别

一、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。   

示例:

$book = array('a'=>'xiyouji','b'=>'sanguo','c'=>'shuihu','d'=>'hongloumeng');$json = json_encode($book);echo $json;

登录后复制

  浏览器打印出的结果如下:

立即学习“PHP免费学习笔记(深入)”;

{“a”:”xiyouji”,”b”:”sanguo”,”c”:”shuihu”,”d”:”hongloumeng”}

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

语法:json_decode($json[,$assoc=false[,$depth=512[,$options=0]]])注意:1、$json 为待解码的数据,必须为utf8编码的数据;
    2、$assoc 值为TRUE时返回数组,FALSE时返回对象;
    3、$depth 为递归深度;
    4、$option二进制掩码,目前只支持 JSON_BIGINT_AS_STRING;
    5、一般只用前面两个参数,如果要数据类型的数据要加一个参数true。

示例:

$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 '
';  var_dump($obj->c);//调用对象元素

登录后复制

 打印结果如下:

string(6) “sanguo” string(6) “shuihu”

到此这篇关于浅析PHP中json_encode与json_decode的区别的文章就介绍到这了,更多相关PHP json_encode与json_decode内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关学习推荐:PHP编程从入门到精通

以上就是了解PHP中json_encode与json_decode的区别的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3160708.html

(0)
上一篇 2025年3月30日 10:47:23
下一篇 2025年3月30日 10:47:32

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • PHP如何操作json?方法介绍

    本篇文章给大家介绍一下php操作json的方法,以及json_decode()的一些常见错误。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。  一、json_encode() 该函数主要用来将数组和对象,转换为json格式…

    2025年3月30日
    000
  • 分享4个提高脚本性能的PHP技巧

                                                            4个提高脚本性能的PHP技巧 通常,我使用明显的常规php函数编写代码来解决相应的问题。但是对于其中的一些问题,我遇到了一些替代…

    编程技术 2025年3月30日
    100
  • 示例php+mysql查询实现无限下级分类树输出

    本文实例讲述了php+mysql查询实现无限下级分类树输出。分享给大家供大家参考,具体如下: 这里介绍的php结合mysql查询无限下级树输出,其实就是无限分类。给各位整理了几个php无限分类的例子. 【相关学习推荐:php编程(视频),p…

    2025年3月30日
    100
  • 21个php常用方法汇总

    php常用方法汇总 1. PHP可阅读随机字符串   立即学习“PHP免费学习笔记(深入)”;   此代码将创建一个可阅读的字符串,使其更接近词典中的单词,实用且具有密码验证功能。   立即学习“PHP免费学习笔记(深入)”; /*****…

    2025年3月30日
    100
  • 数组转json后的结果是数组还是对象? (踩坑记录)

                                                            推荐:《php视频教程》 最近工作中经常遇到这些问题,因此记录一下~ 这里要说明一下啊,json_encode 后,结果都是 s…

    编程技术 2025年3月30日
    100
  • PHP开发api接口

    推荐:《php视频教程》                                                         php的api接口 在实际工作中,使用PHP写api接口是经常做的,PHP写好接口后,前台就可以通过链…

    2025年3月30日
    100
  • PHP+MySQL+LayUI分页查询显示

        html构建前端样式,ajax异步请求数据,再使用layui.table数据表格的方法渲染,这样就完成了分页查询显示。     html构建前端样式  AJAX异步请求数据     使用layui.table数据表格的方法渲染。 1…

    2025年3月30日
    100
  • php变量与json格式数据相互转换

    上篇文章我们介绍了《掌握php中的array数组(附代码解析)》,本篇文章我们来介绍json,json是一种轻量级的数据交换格式,已经被绝大数语言广泛使用,在php中与前端进行数据交换便使用json格式的数据,那么如何在php中将变量与js…

    编程技术 2025年3月30日
    100
  • 详解PHP中如何安装和使用GraphQL

    本篇文章带大家了解一下graphql,并详细介绍php中安装和使用graphql的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 关于 GraphQL GraphQL 是一种现代化的 HTTP API 接口构建方式,…

    2025年3月30日 编程技术
    100
  • 你知道Laravel Collection的实际使用场景有哪些吗?

    下面由laravel教程栏目给大家介绍laravel collection的实际使用场景,希望对需要的朋友有所帮助! Laravel Collection 实际使用 laravel 1, ‘user_id’ => 1, ‘number…

    编程技术 2025年3月30日
    100

发表回复

登录后才能评论