Heim >Backend-Entwicklung >PHP-Tutorial >PHP json_encode 中文处理类实例_PHP教程

PHP json_encode 中文处理类实例_PHP教程

WBOY
WBOYOriginal
2016-07-13 10:49:41926Durchsuche

中文处理在php中处理总是不那么完美经常会碰到中文处理时乱码或为空问题,下面我在处理json时也碰到同样的问题,后来整理一个完美解决 json_encode 中文乱码或为空程序类。

 代码如下 复制代码

/**************************************************************
    *
    * 使用特定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'=>24
    );
    
    
    echo JSON($array);

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/632709.htmlTechArticle中文处理在php中处理总是不那么完美经常会碰到中文处理时乱码或为空问题,下面我在处理json时也碰到同样的问题,后来整理一个完美解决...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn