php的json_encode第二个参数学习及应用

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 //慎用,会把里面所有数组都转换成对象,即[]都会变成{}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...