Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php json_使用选项json_UNESCAPED_UNICODE编码_Php_Json - Fatal编程技术网

Php json_使用选项json_UNESCAPED_UNICODE编码

Php json_使用选项json_UNESCAPED_UNICODE编码,php,json,Php,Json,使用echo json_encode($array,json_UNESCAPED_UNICODE)时 我得到了这个错误的答案 警告:json_encode()只需要1个参数,给定2个 您的php版本可能太低: 请参阅允许在PHP5.2上使用相同功能的补丁 基本上是这样运行的: foreach ($array as &$val) { $val = preg_replace_callback('/\\\\u([0-9a-f]{4})/i', function($ma

使用echo json_encode($array,json_UNESCAPED_UNICODE)时

我得到了这个错误的答案

警告:json_encode()只需要1个参数,给定2个


您的php版本可能太低:

请参阅允许在PHP5.2上使用相同功能的补丁

基本上是这样运行的:

foreach ($array as &$val) {
    $val = preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
        function($matches) {
            return mb_convert_encoding(pack('H*', $matches[1]), 'UTF-8', 'UTF-16');
        }, $val);
}

options
参数是在PHP5.3.0中添加的,而JSON_UNESCAPED_UNICODE是在PHP5.4.0中添加的。这可能会有帮助:嗯,好吧,如果是这样的话,我可以做同样的事情,但使用不同的脚本,这里有一条注释,上面写着“JSON_UNESCAPED_UNICODE的简单替换(例如PHP<5.4)”@EvenJohnson
JSON\u UNESCAPED\u UNICODE
实际上可能没有必要。如果你的PHP版本太低,就不用它了。嗯,5票以上,“这个问题不太可能帮助任何未来的访问者”:)即使这很接近,这在技术上也是错误的。PHP5.4也有一个bug,请参见
foreach ($array as &$val) {
    $val = preg_replace_callback('/\\\\u([0-9a-f]{4})/i',
        function($matches) {
            return mb_convert_encoding(pack('H*', $matches[1]), 'UTF-8', 'UTF-16');
        }, $val);
}