解决PHP生成json中文乱码或为null问题

  • 2013-8-12 12:35
  • PHP二次开发网
  • 阅读(4382)
  • 评论(0)
  • 来源:互联网
  • 摘要: 解决PHP生成json中文乱码或为null问题

    [代码]php代码:

    <?php
    /**************************************************************
    *
    *  使用特定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);
    }
        
    $array = array
    (
         'Name'=>'测试数据',
         'Age'=>20
    );
        
        
    echo JSON($array);
    ?>



    PHP技术交流QQ群:422137578

    除非注明,文章均为 PHP二次开发 原创,转载请注明本文地址:http://www.php2.cc/article-837-1.html

    相关阅读

    最新评论

    用户名:  *

    邮 箱:  *

    网 址: 注意加上“http://”哦!