好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP json_encode 中文处理类实例 - php类库

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类库的详细内容...

  阅读:35次