2013-07-04 12 views
0

好即時得到這樣一個PHP服務器響應:如何解析此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

你一個bulding的多級陣列時,你不需要做。跳過整個$ arrayToReturn業務:

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

Thx @MarcB太棒了! :) – marciokoko