PHP json_encode里面经常用到的 JSON_UNESCAPED_UNICODE和JSON_UNESCAPED_SLASHES【转】
php格式化json的函数
json_encode($value,$options)
其中有2个比较常用到的参数
JSON_UNESCAPED_UNICODE
(中文不转为unicode ,对应的数字 256
)
JSON_UNESCAPED_SLASHES
(不转义斜杠,对应的数字 64
)
通常json_encode只能传入一个常量,如果同时使用2个常量怎么办?
JSON_UNESCAPED_UNICODE + JSON_UNESCAPED_SLASHES = 320
使用方法:json_encode($arr,320)
;即可完成同时使用2个常量。
$arr = array('key'=>'中文/同时生效');
echo json_encode($arr,320);//输出{"key":"中文/同时生效"}
$arr = array('key'=>'中文/同时生效');
//默认中文斜杠都会转义
echo json_encode($arr) ."\n"; //输出{"key":"\u4e2d\u6587\/\u540c\u65f6\u751f\u6548"}
//中文不转为unicode
echo json_encode($arr,256)."\n";//输出{"key":"中文\/同时生效"}
//不转义斜杠
echo json_encode($arr,64)."\n"; //输出{"key":"\u4e2d\u6587/\u540c\u65f6\u751f\u6548"}
//中文斜杠都不转义
echo json_encode($arr,320)."\n";//输出{"key":"中文/同时生效"}
文章来自:https://blog.csdn.net/wuxing164/article/details/73321691
更多参考:https://www.php.net/manual/zh/function.json-encode.php