php 数组与js 数组转换

<!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>




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值