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>