php5.4以上:

json_encode($data, JSON_FORCE_OBJECT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);

php5.3
//数组转成对象编码,encode后[]变成{}
$data = json_encode($data, JSON_FORCE_OBJECT);
//不转义斜杠
$data = str_replace("\\/", "/", $data);
//以字面编码多字节 Unicode 字符(默认是编码成 \uXXXX)
$data = _unicodeToUTF8($data);
//\u变成多字节Unicode字符
function _unicodeToUTF8($str){
  return preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
  create_function(
    '$matches',
    'return mb_convert_encoding(pack("H*", $matches[1]), "UTF-8", "UCS-2BE");'
  ), $str);
}

注意:JSON_FORCE_OBJECT //慎用,会把里面所有数组都转换成对象,即[]都会变成{}

php的json_encode第二个参数学习及应用的更多相关文章

  1. 学习 Message(5): 关于 TApplicationEvents.OnMessage 的第二个参数 可以屏蔽 TWebBrowser右键菜单:

    http://www.cnblogs.com/del/archive/2008/10/25/1319318.html TApplicationEvents.OnMessage 的第二个参数 Handl ...

  2. 深度学习原理与框架-Alexnet(迁移学习代码) 1.sys.argv[1:](控制台输入的参数获取第二个参数开始) 2.tf.split(对数据进行切分操作) 3.tf.concat(对数据进行合并操作) 4.tf.variable_scope(指定w的使用范围) 5.tf.get_variable(构造和获得参数) 6.np.load(加载.npy文件)

    1. sys.argv[1:]  # 在控制台进行参数的输入时,只使用第二个参数以后的数据 参数说明:控制台的输入:python test.py what, 使用sys.argv[1:],那么将获得w ...

  3. parseInt第二个参数详解

    前阵子在stackOverflow上看到两个这样的问题: 为什么parseInt(8,3) == NaN,parseInt(16,3) == 1? 为什么parseInt('dsff66',16) = ...

  4. 关于字符串replace方法第二个参数探究

    网上有关replace的文章很多了,这里主要聊聊它的第二个参数.阅读本文需要对replace方法有一定了解.W3school=>replace 我们要把一段字符串中的某些指定字符替换掉,第一时间 ...

  5. ***php解析JSON二维数组字符串(json_decode函数第二个参数True和False的区别)

    客户端的请求体中的数据:[{"msg_id": 1, "msg_status": "HAS_READ" }, { "msg_id& ...

  6. 第二章 开始学习C++

    第二章  开始学习C++ 2.1  main函数 简单代码如下: #include <iostream> int main() { //This is my first program u ...

  7. Python: re.sub()第二个参数

    起源: 问题源于解析kissanime.io这个网站.为反扒抑或是防止ddos攻击,此视频页面,初进去会有个5秒延迟并提交一表单验证.而其表单验证,为下面一段html代码: <form id=& ...

  8. 逆向基础 C++ Primer Plus 第二章 开始学习C++

    C++ Primer Plus 第二章 开始学习C++ 知识点梳理 本章从一个简单的C++例子出发,主要介绍了创建C++程序的步骤,以及其所包含的预处理器编译指令.函数头.编译指令.函数体.注释等组成 ...

  9. 关于replace()方法中第二个参数的转义问题

    如果你想通过Javascript代码在网页中呈现 \ 字符,则在JS代码中你必须输入两个反斜杠 \\,否则会报错.比如: var a = "\"; alert(a); //chro ...

随机推荐

  1. LINUX下的gdb调试方法

    首先对目标文件进行编译 例如: gcc test.c -o test 这时会生成一个文件test,然后我们就可以对test进行调试了 示例: gdb test 好了以后是设定断点 示例: break ...

  2. js中实现函数防抖跟函数节流

    最近刚接触两个新概念函数防抖与函数节流,虽然这些内容网上可以搜到很多,大家都有自己的一套的理解方式,都写得很好, 而自己则想在理解的基础上自己把代码实现一遍,加深印象. 一.函数防抖 假如我们有这样的 ...

  3. 多浏览器书签同步插件EverSync

    有时上网时会遇到浏览器不能正常显示的问题.(比如我的火狐浏览器无法正确显示微信公众号管理后台,在chrome上可以正常显示),所以我的电脑里安装了chrome和firefox两个浏览器.但是时间长了, ...

  4. 最长公共子序列长度(dp)

    /// 求两个字符串的最大公共子序列长度,最长公共子序列则并不要求连续,但要求前后顺序(dp) #include <bits/stdc++.h> using namespace std; ...

  5. 后台启动es head,关闭shell后es head自动关闭

    后台启动head命令:grunt server & 注意:加上&虽然执行了后台启动,但还是有日志打印出来,使用ctrl+c可以退出.这时如果直接关闭shell, head进程就会终止 ...

  6. MySQL:实现cumsum(累加)的功能

    需求:为实现cumsum累计求和的功能. 一张视图. SELECT 日期, 净利润 FROM daily_pnl_view; 现在希望得到,每天累计的利润是多少. SET @csum := 0;SEL ...

  7. (转)Loadrunner教程--常用操做流程

    1loadrunner压力测试一般使用流程 1.1loadrunner压力测试原理 本质就是在loadrunner上模拟多个用户同时按固定行为访问web站点.其中固定行为在loadrunner中是通过 ...

  8. (转) centos7 RPM包之rpm命令

    原文:https://blog.csdn.net/capecape/article/details/78529159 RPM包与源码包的区别1.软件包分类 源码包:C源代码包 rpm包:编译之后的二进 ...

  9. Operation之算数&聚合操作符

    toArray 该操作符先把一个序列转成一个数组, 并作为一个单一的事件发送, 然后结束 Observable.of(1,2,3,4) .toArray() .subscribe(onNext: { ...

  10. 转 RAC单个节点执行expdp提示ORA-31693 ORA-31617 ORA-19505 ORA-27037错误

    http://blog.itpub.net/31394774/viewspace-2217567/ 1.在RAC单节点执行expdp,出现ORA-31693 ORA-31617 ORA-19505 O ...