zoukankan      html  css  js  c++  java
  • 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--;
    }

  • 相关阅读:
    基础【五】字典的操作方法
    基础【四】列表的操作方法
    基础【三】字符串的操作方法
    基础【二】while循环及基本运算符
    基础【一】基础数据类型
    C++ string 深拷贝 与 浅拷贝
    多进程引用的动态链接库中的全局变量问题
    C++ 在类里面使用多线程技术
    openwrt 解决包依赖关系
    lua 的元表与元方法
  • 原文地址:https://www.cnblogs.com/cocoqi/p/8063882.html
Copyright © 2011-2022 走看看