如何解析这个php服务器响应以消除空元素?

时间:2013-07-04 21:21:41

标签: php mysql ios nsarray

好的我得到像这样的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)如何消除主阵列中的空内部数组?

由于

1 个答案:

答案 0 :(得分:1)

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

$arr = array();
while($row = mysql_fetch_object($result)) {
   $arr[] = $row;
}
echo json_encode($arr);