• JSON中文处理类实例


    $array = array(
      'Name'=>'络恩',
      'Age'=>24
    );

    $post=my_json_encode($array);

    // 这个函数是判断版本,如果是搞版本的则直接用版本带的函数处理,如果不是则用递归处理
    function my_json_encode($p){
      if (PHP_VERSION >= '5.4'){
        $str = json_encode($p, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);
      }else{
        $str=JSON($p);
      }
      return $str;
    }
    /**************************************************************
    *
    * 将数组转换为JSON字符串(兼容中文)
    * @param array $array 要转换的数组
    * @return string 转换得到的json字符串
    * @access public
    *
    *************************************************************/
    function JSON($array) {
      arrayRecursive($array, 'urlencode', true);
      $json = json_encode($array);
      return urldecode($json);
    }
    /**************************************************************
    *
    * 使用特定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--;
    }

  • 相关阅读:
    js json字符串与json对象互相转换(最全)
    eclipse 离线安装SVN插件(支持eclipse201909)
    eclipse maven项目如何将所有的jar包复制到lib目录下?
    windows/tomcat 修改java虚拟机JVM以utf-8字符集加载class文件的两种方式
    eclipse 设置所有文件编码为UTF-8(最全)
    控制程序的启动数量(限制游戏多开)
    POJ 1719 Shooting Contest(二分图匹配)
    微信企业号开发:消息类型与差别
    Android
    SSI(Server Side Include)简单介绍
  • 原文地址:https://www.cnblogs.com/cocoqi/p/8063882.html
Copyright © 2020-2023  润新知