zoukankan      html  css  js  c++  java
  • PHP 将数组转换为JSON字符串<兼容中文>

     1 /**************************************************************
     2  *
     3  *    使用特定function对数组中所有元素做处理
     4  *    @param    string    &$array        要处理的字符串
     5  *    @param    string    $function    要执行的函数  例如:urlencode,strval 等
     6  *    @return boolean    $apply_to_keys_also        是否也应用到key上
     7  *    @access public
     8  *
     9  *************************************************************/
    10 function arrayRecursive(&$array, $function, $apply_to_keys_also = false)
    11 {
    12     static $recursive_counter = 0;
    13 if (++$recursive_counter > 1000) {
    14 die('possible deep recursion attack'); 15 } 16 foreach ($array as $key => $value) {
    17 if (is_array($value)) {
    18 arrayRecursive($array[$key], $function, $apply_to_keys_also);
    19 } else {
    20 $array[$key] = $function($value); 21 } 22 23 if ($apply_to_keys_also && is_string($key)) {
    24 $new_key = $function($key);
    25 if ($new_key != $key) {
    26 $array[$new_key] = $array[$key];
    27 unset($array[$key]); 28 } 29 } 30 }
    31 $recursive_counter--; 32 }
    /**************************************************************
     *
     *    将数组转换为JSON字符串(兼容中文)
     *    @param    array    $array        要转换的数组
     *    @return string        转换得到的json字符串
     *    @access public
     *
     *************************************************************/
    function getJson($array) {
    arrayRecursive(
    $array, 'urlencode', true);
    $json = json_encode($array);
    return urldecode($json); }
  • 相关阅读:
    Flask Mysql数据库连接
    Flask form前后端交互消息闪现
    Flask block继承和include包含
    Flask filter过滤器
    常规http状态码
    linux搭建hadoop环境
    inline-block布局代码
    JDBC4.0自动加载驱动器类
    用反射模拟Hibernate保存JavaBean
    深入ThreadLocal的内部机制
  • 原文地址:https://www.cnblogs.com/ldcheng/p/8779601.html
Copyright © 2011-2022 走看看