0

好的,我得到这样的 php 服务器响应:

[[],[],[],[{"username":"xcodeSim","PUNTOS":"5"}],[],]

这是预期的,因为我正在使用此代码从 mySQL 获取数据,该代码是一个接收 NSArray 序列化帖子的 php 文件,如下所示:

NSData *data = [NSJSONSerialization dataWithJSONObject:usersArray options:0 error:&error];

所以服务器这样做:

foreach ($post_data as $value) 
{
  //CREATE QUERY
  $result = mysql_query("SELECT username, SUM(points) AS PUNTOS FROM tags WHERE username='$value' GROUP BY username");

  //EXECUTE QUERY & ADD EACH USER/POINTS DICTIONARY TO $resultado ARRAY
  $resultado = array();
  while($obj = mysql_fetch_object($result)) 
  {
    $resultado[] = $obj;
  }

  //STORE RESULTS IN NEW OBJECT TO RETURN
  $arrayToReturn[] = $resultado;

}

Echo $json->encode($arrayToReturn);

所以我有两个问题:

1)如何消除每个用户点字典的内部数组?

2)我如何从主阵列中消除空的内部阵列?

谢谢

4

1 回答 1

1

当您不需要时,您正在构建一个多级数组。跳过整个 $arrayToReturn 业务:

$arr = array();
while($row = mysql_fetch_object($result)) {
   $arr[] = $row;
}
echo json_encode($arr);
于 2013-07-04T21:24:45.040 回答