10477777 发表于 2018-12-23 10:11:11

php json 显示中文

  网上流传的那个版本有死循环的问题,这里把它改了一点。见arrayRecursive函数。


function conv($arr, apply_to_keys_also = false)
    {
      arrayRecursive($arr, 'urlencode',apply_to_keys_also);
      $json = json_encode($arr);
      return urldecode($json);
    }   


function arrayRecursive(&$array, $function, $apply_to_keys_also = false)
    {   
    $keys = array_keys($array);
      foreach($keys as $key) {   
            if (is_array($array[$key]))   {
                self::arrayRecursive($array[$key], $function, $apply_to_keys_also);   
            }
            else {
                $array[$key] = $function($array[$key]);
            }
            if ($apply_to_keys_also && is_string($key)) {
                $new_key = $function($key);
                if ($new_key !== $key) {   
                  $array[$new_key] = $array[$key];
                  unset($array[$key]);
                }   
            }   
      }   
    }   




页: [1]
查看完整版本: php json 显示中文