作用:对变量进行 JSON 编码

语法:   string json_encode ( mixed $value [, int $options = 0 [, int $depth = 512 ]] )

value :除了resource 类型之外,可以为任何数据类型。所有字符串数据的编码必须是 UTF-8。

options:由以下常量组成的二进制掩码

:JSON_HEX_QUOT,JSON_HEX_TAG,JSON_HEX_AMP,JSON_HEX_APOS,JSON_NUMERIC_CHECK,JSON_PRETTY_PRINT,JSON_FORCE_OBJECT,JSON_PRESERVE_ZERO_FRACTION,JSON_UNESCAPED_UNICODE(避免中文这些转码等,对应数字256),JSON_UNESCAPED_SLASHES(不转义反斜杠,对应的数字64),JSON_PARTIAL_OUTPUT_ON_ERROR。
关于 JSON 常量详情参考JSON 常量页面,也可以参考http://blog.csdn.net/any2mobile/article/details/8717180。

depth:设置最大深度。 必须大于0。

返回值说明:成功则返回 JSON 编码的 string 或者在失败时返回 FALSE 。

如果value是一个数组,如果是无下标的数组(即默认下标0,1,2,3),则返回值是[]包起来的数组,否则,是{}包起来的对象

<?php
$arr  = array(1,2,3,4);
$arr2 = array('a','b','c','d');
$arr3 = array(0=>1,1=>2,2=>3,3=>4);
$arr4 = array(1=>1,2=>2,3=>3,4=>4);
$arr5 = array('0'=>1,'1'=>2,'2'=>3,'3'=>4);
$arr6 = array('a'=>'a','b'=>'b','c'=>'c','d'=>'d');
$arr7 = array(array(1,2,3,4),array('a','b','c','d'),array('a'=>'a','b'=>'b','c'=>'c','d'=>'d')
);
$arr8 = array('one' => array(1,2,3,4),'two'=> array('a','b','c','d'),'three' => array('a'=>'a','b'=>'b','c'=>'c','d'=>'d')
);
var_dump(json_encode($arr));
//结果: [1,2,3,4]
var_dump(json_encode($arr2));
//结果: ["a","b","c","d"]
var_dump(json_encode($arr3));
//结果: [1,2,3,4]
var_dump(json_encode($arr4));
//结果: {"1":1,"2":2,"3":3,"4":4}
var_dump(json_encode($arr5));
//结果: [1,2,3,4]
var_dump(json_encode($arr6));
//结果: {"a":"a","b":"b","c":"c","d":"d"}
var_dump(json_encode($arr7));
//结果: [[1,2,3,4],["a","b","c","d"],{"a":"a","b":"b","c":"c","d":"d"}]
var_dump(json_encode($arr8));
//结果: {"one":[1,2,3,4],"two":["a","b","c","d"],"three":{"a":"a","b":"b","c":"c","d":"d"}}

浅析json_encode相关推荐

  1. php json_decode 效率,浅析PHP中json_encode、json_decode与serialize、unserialize的性能测试...

    今天偶然在想,如果用PHP写一个类似BDB的基于文件的Key-Value小型数据库用于存储非结构化的记录型数据,不知道效率会如何? 于是便联想到PHP中的对象怎么样序列化存储性价比最高呢?接着想到了之 ...

  2. Jsonp跨域漏洞浅析

    为什么要用到jsonp跨域? 同源策略:协议.域名.端口都相同,是一种安全策略,不同源的客户端脚本在没有明确授权的情况下,不能读取对方资源. 如何解决跨域(目前我掌握的有两种手段 (1)JSONP方式 ...

  3. 浅析 JavaScript 中的 函数 uncurrying 反柯里化

    柯里化 柯里化又称部分求值,其含义是给函数分步传递参数,每次传递参数后部分应用参数,并返回一个更具体的函数接受剩下的参数,这中间可嵌套多层这样的接受部分参数函数,直至返回最后结果. 因此柯里化的过程是 ...

  4. 浅析Python中bytes和str区别

    本博转载自:Chown-Jane-Y的浅析Python3中的bytes和str类型 Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分.文本总是Unicode,由str类型表示, ...

  5. json_encode时中文编码转正常状态

    function json_encode_cn($data) {$data = json_encode($data);return preg_replace("/\\\u([0-9a-f]{ ...

  6. 学习《Linux设备模型浅析之设备篇》笔记(深挖一)

    这篇文章既然说了是浅析,那就是跳过了一些东西,我们把这些跳过的东西给它尽可能的补回来 今天登陆 lxr.free-electrons.com 发现内核版本已经升级到3.15了,那以后都使用3.15的源 ...

  7. 学习《Linux设备模型浅析之设备篇》笔记(一)

    最近在学习Linux设备模型,前面几篇文章也是读这篇的时候遇到问题,然后为了搞清楚先转去摸索才写出来的. 当然了,刚开始是先读到<Linux那些事儿之我是Sysfs>,搞不清楚才去读的&l ...

  8. json_encode 中文不乱码

    echo json_encode("中文", JSON_UNESCAPED_UNICODE);//"中文" 转载于:https://www.cnblogs.co ...

  9. 架构周报| 浅析MySQL JDBC连接配置上的两个误区

    经典案例 \\ 浅析MySQL JDBC连接配置上的两个误区:相信使用MySQL的同学都配置过它的JDBC驱动,多数人会直接从哪里贴一段URL过来,然后稍作修改就上去了,对应的连接池配置也是一样的,很 ...

  10. 超级账本(Hyperledger Fabric)之权限管理浅析

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 超级账本(Hyperledger Fabric)之权限管理浅析 超级账本是联盟链的代表,而其相对于共链(例如比特币,以太 ...

最新文章

  1. Qt学习一门:直接使用QT具
  2. linux dbus-daemon进程 消息转发 简介
  3. KB001: 兼容性问题与浏览器的内核及渲染模式
  4. Spring Data JPA单元测试 Not a managed type
  5. 【MongoDB】MongoDb的“not master and slaveok=false”错误及解决方法
  6. 前端学习(1711):前端系列javascript之创建uni-app创建
  7. 嵌套集合模型(Nested set model)介绍
  8. 前手淘前端负责人:前端人如何保持竞争力?
  9. 虚拟linux系统首次登入,第一次在虚拟机启动我们的Linux系统
  10. 【日期类问题】例2.1日期差值
  11. 移动端ajax分页,移动端分页加载 - 花乐天的个人空间 - OSCHINA - 中文开源技术交流社区...
  12. ArcGIS js Api 4.x修改三维球背景技巧
  13. Pr 入门教程:如何减少音频中的噪音和混响?
  14. tushare复权数据使用
  15. PVE使用USB蓝牙直通配置
  16. 触控笔有必要买吗?苹果平板触控笔排行榜
  17. jquery日历插件daterangepicker全面详解汇总
  18. python爬虫(7)——获取京东商品评论信息
  19. 使用python 绘制统计图,(折线图,条形统计图,扇形统计图)
  20. stm32驱动rgb屏电路图_基于STM32F767驱动 LTDC LCD(RGB屏)

热门文章

  1. 国内it软件外包公司排行榜是怎么样的
  2. 对“陶哲轩-来自特征值的特征向量”的理解
  3. 数字图像处理及matlab实现第三版相关概念总结
  4. 安全系统工程徐志胜电子版_安全系统工程-第3版
  5. RRD原理(转载的)
  6. 系统启动时启动服务器,在BOIS如何设置启动项 启动方式怎么选择
  7. VUE系列 ---- 网络模块axios(一 )
  8. 实体认证与身份识别概述
  9. 使用unity完成简单的打地鼠游戏2D制作
  10. 坚果J10的真实流明到底怎么样?坚果J10有哪些缺点