Javascript 是否可以将json数组与单独的变量一起发回

Javascript 是否可以将json数组与单独的变量一起发回,javascript,php,json,Javascript,Php,Json,嘿,伙计们,我有一个ajax jquery函数,可以从php脚本接收数据。我想返回一个数组,其中包含从mysql语句中检索到的所有在线用户,并且我想随它一起发送用于其他目的的其他单独变量。如果有人有任何想法,我将不胜感激。注意:下面的例子是为了说明我想做什么,我知道用其他变量对数组进行json编码是不正常的 JQUERY $.ajax({ type: "POST", data: "parameters", url: "retrieval.php", dataType: 'json

嘿,伙计们,我有一个ajax jquery函数,可以从php脚本接收数据。我想返回一个数组,其中包含从mysql语句中检索到的所有在线用户,并且我想随它一起发送用于其他目的的其他单独变量。如果有人有任何想法,我将不胜感激。注意:下面的例子是为了说明我想做什么,我知道用其他变量对数组进行json编码是不正常的

JQUERY

$.ajax({
  type: "POST",
  data: "parameters",
  url: "retrieval.php",
  dataType: 'json',
  success: function(json) {
    $('#div1').html(json.array);
    $('#div2').html(json.variable1);
    $('#div3').html(json.variable2);
  }
})
PHP

$qryuserscount1="SELECT * FROM active_users";
$userscount1=mysql_query($qryuserscount1);
while ($row = mysql_fetch_array($userscount1)) {
$onlineuser= $row['username'];
$id=$row['id'];

$data[]=$onlineuser.$id; //for example there are 3 users, should send 3 entries back
}
$data['variable1']='something';
$data['variable2']='something else';

$out = json_encode($data);
print $out;

您确实希望发回一个包含所需内容的JSON对象

{
    "Users" : [
        "Jim",
        "Bob",
        "Sue"
    ],
    "Something" : 2,
    "Else" : "This is something else."
}

您可以使用以下结构:

{loggedUsers: [the list], variable1: 'something', variable2: 'something else'}

在PHP方面,您应该具有以下内容:

$result = array();

$qryuserscount1="SELECT * FROM active_users";
$userscount1=mysql_query($qryuserscount1);
while ($row = mysql_fetch_array($userscount1)) {
  $onlineuser= $row['username'];
  $id=$row['id'];

  $result['array'][]=array('name'=>$onlineuser, 'id' => $id); //for example there are 3 users, should send 3 entries back
}
$result['variable1']='something';
$result['variable2']='something else';

$out = json_encode($result);
print $out;

JQuery端可以保持原样。

在PHP中,变量数据应该是一个(在PHP中,数组实际上是一个有序映射)。
数据['id']将是一个id数组。
数据['variable1']将是variable1等


然后json_encode(数据)将为您提供所需的json。

谢谢Kamil,我尝试了您的方法,但是jquery端似乎无法识别数组。一旦我将数据['array']转换为您的格式,该函数就会终止。我试着测试页面,它似乎返回了正确的信息,但jquery没有。这是它返回的json数组{“variable1”:“test”,“variable2”:“testing”,“array”:[{“entry”:“user1”},{“entry”:“user2”},{“entry”:“user3”}]}nvm I used$;
{
    "Users" : [
        "Jim",
        "Bob",
        "Sue"
    ],
    "Something" : 2,
    "Else" : "This is something else."
}