php 数组与js 数组转换

来源:互联网 发布:mac重装系统失败 编辑:程序博客网 时间:2024/05/18 03:25
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>无标题文档</title></head><body><?php$list = array (  0 => '好贴,我不支持谁支持!',  1 => '你懂的!',  2 => '闲着也是闲着,来点分分!',  3 => '你不差钱,差的是分!',  4 => '哥给的不是分,是支持',  5 => '太帅了,太美了,I服了YOU!',  6 => '拿去买糖吃吧!',  7 => '你妈妈叫我来加分!',  8 => '扣你的分让别人去说吧!',  9 => '我手抖了下,加分变扣分了!',  10 => '姐扣的不是分,是信仰!',  11 => '太OPEN了!',  12 => '太水了',  13 => '找抽帖',  14 => '做人要低调',);$list = pwJsonEncode($list);/** * 将数组格式化成json格式 * * @param  $type * @return string */function pwJsonEncode($var) {    switch (gettype($var)) {        case 'boolean' :            return $var ? 'true' : 'false';        case 'NULL' :            return 'null';        case 'integer' :            return (int) $var;        case 'double' :        case 'float' :            return (float) $var;        case 'string' :            return '"' . addslashes(str_replace(array("\n", "\r", "\t"), '', addcslashes($var, '\\"'))) . '"';        case 'array' :            if (count($var) && (array_keys($var) !== range(0, sizeof($var) - 1))) {                $properties = array();                foreach ($var as $name => $value) {                    $properties[] = pwJsonEncode(strval($name)) . ':' . pwJsonEncode($value);                }                return '{' . join(',', $properties) . '}';            }            $elements = array_map('pwJsonEncode', $var);            return '[' . join(',', $elements) . ']';    }    return false;}?><script>var List = JSONParse('<?php echo $list; ?>');for(var i in List) {    alert(List[i]);}function JSONParse(text){    var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;    var j;    if (cx.test(text)) {        text = text.replace(cx, function (a) {            return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);        });    }    if (/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {        j = eval('(' + text + ')');        return j;    }    showDialog('error','数据格式错误,无法解析');}</script></body></html>