芒果味的球
2019-07-22 16:10
采纳率: 76.5%
浏览 267
已采纳

PHP使用 json_encode 转换不出来,不知道什么原因,截图如下:

PHP使用 json_encode 转换不出来 不知道什么原因 错误都提示没有!
具体问题如图:

图片说明

error_reporting(E_ALL); 了

有什么思路和策略能解决这个问题?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 芒果味的球 2019-07-25 14:33
    已采纳

    可以了 写2个方法

         *
         *  使用特定function对数组中所有元素做处理
         *  @param  string  &$array     要处理的字符串
         *  @param  string  $function   要执行的函数
         *  @return boolean $apply_to_keys_also     是否也应用到key上
         *  @access public
         *
         *************************************************************/
        function arrayRecursive(&$array, $function, $apply_to_keys_also = false)
        {
            static $recursive_counter = 0;
            if (++$recursive_counter > 1000) {
                die('possible deep recursion attack');
            }
            foreach ($array as $key => $value) {
                if (is_array($value)) {
                    arrayRecursive($array[$key], $function, $apply_to_keys_also);
                } else {
                    $array[$key] = $function($value);
                }
    
                if ($apply_to_keys_also && is_string($key)) {
                    $new_key = $function($key);
                    if ($new_key != $key) {
                        $array[$new_key] = $array[$key];
                        unset($array[$key]);
                    }
                }
            }
            $recursive_counter--;
        }
    
        /**************************************************************
         *
         *  将数组转换为JSON字符串(兼容中文)
         *  @param  array   $array      要转换的数组
         *  @return string      转换得到的json字符串
         *  @access public
         *
         *************************************************************/
        function JSON($array) {
            arrayRecursive($array, 'urlencode', true);
            $json = json_encode($array);
            return urldecode($json);
        }
    
    
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 斤斤丶 2019-07-22 16:29

    // 将数组先转为json格式字符串,再使用json_decode转为对象,之后详细研究json_decode的参数,使用等
    $obj = json_decode(json_encode($array));

    评论
    解决 无用
    打赏 举报
  • 不如喫茶去 2019-07-23 14:33

    数据的编码字符集,一定要确保是utf8

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题