Heim >Backend-Entwicklung >PHP-Tutorial > php数组转json展示中文的一句代码,求解释

php数组转json展示中文的一句代码,求解释

WBOY
WBOYOriginal
2016-06-13 12:47:27926Durchsuche

php数组转json显示中文的一句代码,求解释

本帖最后由 wang23412 于 2013-06-09 17:05:27 编辑 我用php把数组转成json格式传给jquery 时发现中文会变成奇怪的编码。于是在网上找了下解决方法,看到很多人用下面两个函数解决了:
function arrayRecursive(&$array, $function, $apply_to_keys_also = false)<br />
{<br />
    static $recursive_counter = 0;<br />
    if (++$recursive_counter > 1000) {<br />
        die('possible deep recursion attack');<br />
    }<br />
    foreach ($array as $key => $value) {<br />
        if (is_array($value)) {<br />
            arrayRecursive($array[$key], $function, $apply_to_keys_also);<br />
        } else {<br />
            $array[$key] = $function($value);<br />
        }<br />
        if ($apply_to_keys_also && is_string($key)) {<br />
            $new_key = $function($key);<br />
            if ($new_key != $key) {<br />
                $array[$new_key] = $array[$key];<br />
                unset($array[$key]);<br />
            }<br />
        }<br />
    }<br />
    $recursive_counter--;<br />
}

function JSON($array) {<br />
 arrayRecursive($array, 'urlencode', true);<br />
 $json = json_encode($array);<br />
 return urldecode($json);<br />
}

我测试了下确实能解决问题,于是仔细研究了下代码,发现如下这句代码不知道是什么意思:
$array[$key] = $function($value);

我在这句话前后分别输出$array[$key]看下值,发现这句话把中文变成了一串编码。
求各位大侠解释下$function($value)是什么意思。
PHP JSON 中文 编码
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn