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); }
  • 相关阅读:
    CentOS 6.3下安装腾达USB无线网卡遇到的问题及解决方法
    验证resneXt,densenet,mobilenet和SENet的特色结构
    比较语义分割的几种结构:FCN,UNET,SegNet,PSPNet和Deeplab
    比较 VGG, resnet和inception的图像分类效果
    强化学习基础
    深度学习的知识点
    卷积神经网络CNN
    信息论的知识点
    理论机器学习
    计算理论基础
  • 原文地址:https://www.cnblogs.com/ldcheng/p/8779601.html
Copyright © 2011-2022 走看看