PHP json_encode 中文处理类实例
中文处理在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 );查看更多关于PHP json_encode 中文处理类实例 - php类库的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did29560