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

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-13 11:23:44
Original
948 people have browsed it

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 />}
Copy after login

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

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

我在这句话前后分别输出$array[$key]看下值,发现这句话把中文变成了一串编码。
求各位大侠解释下$function($value)是什么意思。
PHP JSON 中文 编码
Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template