在JSON/PHP中返回多个变量

在JSON/PHP中返回多个变量,php,jquery,json,Php,Jquery,Json,基本上,我使用来自本地PHP文件的JSON响应在div中追加数据,目前它只返回一个变量,我使用的代码如下所示: $.ajax({ url: "functions/ajax.php", data: "func=auto", type: "GET", dataType: "json", success: function(data){ $.each(data.search, functio

基本上,我使用来自本地PHP文件的JSON响应在div中追加数据,目前它只返回一个变量,我使用的代码如下所示:

    $.ajax({
        url: "functions/ajax.php",
        data: "func=auto",
        type: "GET",
        dataType: "json",
        success: function(data){
            $.each(data.search, function (i, v) {
                    $div = $('.bs-docs-example');
                    $div.append('+ v +');
            });
        },
        error: function (jqXHR, textStatus, errorThrown){
            console.log('Error ' + jqXHR);
        }
    });
返回JSON的代码当前为

while($row = mysql_fetch_assoc($res)) {
     $search[] = $row['number'];
}
echo json_encode($search);
我想做的是这样的事情

while($row = mysql_fetch_assoc($res)) {
     $search[] = $row['number'];
     $search[] = $row['name'];
}
echo json_encode($search);
但是,如果我要执行以下操作,我将如何访问
number
name
,因为在jQuery上的
success
中,它使用
$进行解析。每个(data.search,function(i,v){
都意味着原始的
$search[]=$row['number']
现在存储在
v


我是否会执行类似于
v['name']
v['number']
的操作,还是完全错误?

您需要将关联数组传递给json\u encode:

$search['number'] = $row['number'];
$search['name'] = $row['name'];
json_encode($search);
或者,如果将有多行结果,作为关联数组的数组:

while($row = mysql_fetch_assoc($res)) {
    $search[] = $row;
}
然后按名称访问JavaScript中的值:

var name = v['name'];


如果您使用的是多行结果。

您只需删除while循环并执行json_编码(mysql_fetch_assoc($res)),我相信,假设没有理由只传入这两列。是的,你可以;我留下了循环,以防需要对行进行一些预处理,例如,如果JSON输出中不需要所有返回的列。完全完美,解释很少但非常精确+1
var name = v[0]['name']