好的,我收到这样的 php 服务器响应:
[[],[],[],[{"username":"xcodeSim","PUNTOS":"5"}],[],]
这是预期的,因为我使用以下代码从 mySQL 获取数据,该代码是一个 php 文件,它接收如下 NSArray 序列化帖子:
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)如何从主数组中消除空的内部数组?
谢谢
最佳答案
当你不需要做的时候,你正在构建一个多级数组。跳过整个 $arrayToReturn 业务:
$arr = array();
while($row = mysql_fetch_object($result)) {
$arr[] = $row;
}
echo json_encode($arr);
关于php - 如何解析这个 php 服务器响应以消除空元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17478231/