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); }
原文地址:https://www.cnblogs.com/ldcheng/p/8779601.html