0

形成一个 php 页面,我正在使用 json 发送一些值。

$result = mysql_query("SELECT * FROM user_info");


    $i=1;
    while($row = mysql_fetch_array($result, MYSQL_NUM)) {
        if(is_array($row) && count($row)>0) 
        {
            $res['user_name'.$i]         = $row[1];
            $res['user_email'.$i]           = $row[2];
            $res['gender'.$i]           = $row[4];
            $res['i']                   = $i;
            $i++;
        }
    }

echo json_encode($res);

我对这段代码没有问题。但是在另一个页面中,我想获取该数据代码如下

    $.post(urlName, function(data) {
    var obj = jQuery.parseJSON ( data );
    $noOfUser   = obj.i;
    alert("No of user- "+$noOfUser);

    for($i=0;$i<=$noOfUser;$i++)
    {
    $user_name = obj.user_name+$i;
    $user_emai = obj.user_email+$i;
    $gender    = obj.gender+$i;

    alert("User Name- "+$user_name);
    alert("User Email- "+$user_emai);
    alert("User Gender- "+$gender);
    }
    });

但问题是当我添加这个obj.user_name+$i而不是简单obj.user_name时,它无法正确检索数据,但我需要获取这些值如何做到这一点?

4

1 回答 1

0

您正在尝试做的尝试获取 的user_name成员obj并附加 的值$i。由于user_name未定义,因此脚本失败。

这是因为在 javascript 中要使用动态生成的密钥访问对象的成员,您必须使用[]访问器,因此在您的情况下,以下示例应该可以工作。

$user_name = obj['user_name' + $i];
于 2013-01-06T09:44:45.580 回答