Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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
json_encode无法对两个php数组中的一个进行编码-为什么?_Php_Arrays_Json - Fatal编程技术网

json_encode无法对两个php数组中的一个进行编码-为什么?

json_encode无法对两个php数组中的一个进行编码-为什么?,php,arrays,json,Php,Arrays,Json,我有两个php数组要编码成json。 一个成功(我得到一个json数组作为回报),另一个失败(没有输出) 这是一个失败的例子: 这是一个成功的例子: 有人能告诉我为什么第一个没有输出任何东西吗 谢谢失败的阵列不是UTF-8编码的 我用这个简洁的函数解决了这个问题: function utf8_converter($array) { array_walk_recursive($array, function(&$item, $key)

我有两个php数组要编码成json。 一个成功(我得到一个json数组作为回报),另一个失败(没有输出)

这是一个失败的例子:

这是一个成功的例子:

有人能告诉我为什么第一个没有输出任何东西吗


谢谢

失败的阵列不是UTF-8编码的

我用这个简洁的函数解决了这个问题:

        function utf8_converter($array)
        {
            array_walk_recursive($array, function(&$item, $key){
                if(!mb_detect_encoding($item, 'utf-8', true)){
                        $item = utf8_encode($item);
                }
            });
            return $array;
        }

也许你试着编码非utf-8字符。@steven谢谢-你和Abracadver的答案帮助我解决了这个问题。