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); }
  • 相关阅读:
    Java实现二叉排序树
    servlet/filter/listener/interceptor区别与联系
    Java中创建对象的5种方式
    字符串练习
    成员变量、类变量、局部变量的区别
    强制清除gradle 缓存
    XML
    jQuery
    JavaScript
    CSS
  • 原文地址:https://www.cnblogs.com/ldcheng/p/8779601.html
Copyright © 2011-2022 走看看