我正在研究一個應用程序,其中用戶應該可以看到帶有圖表的列表。圖表的數據應該從數據庫中獲取(目前大約有785行),然後進行排序以形成一個有效的JSON字符串。有權不我嘗試做這樣PHP創建大型JSON字符串
while($row = $res->fetch_assoc()) {
if(count($appData) == 0){
$appData[] = array(
"name" => $row["name"],
"date" => array($row["date"]),
"android" => array($row["android_count"]),
"ios" => array($row["apple_count"])
);
}else {
for($i = 0; $i < count($appData); $i++) {
if($appData[$i]["name"] == $row["name"]){
$appData[$i]["date"][] = $row["date"];
$appData[$i]["android"][] = $row["android_count"];
$appData[$i]["ios"][] = $row["apple_count"];
}else {
$appData[] = array(
"name" => $row["name"],
"date" => array($row["date"]),
"android" => array($row["android_count"]),
"ios" => array($row["apple_count"])
);
}
}
}
}
echo json_encode($appData);
當我嘗試運行代碼它會給出一個「致命錯誤:用盡536870912個字節允許內存大小(試圖分配71個字節)」的錯誤。我試圖增加最大允許的內存,只是爲了看看會發生什麼,但我得到了同樣的結果。
有沒有辦法避免這麼多循環?還是應該以完全不同的方式處理這個問題,如果是的話,哪一個呢?
最終的結果應該是這個樣子
[{"name":"Some name", "date":["2016-05-09", "2016-05-10", "2016-05-11"], "android":["3", "1", "8"], "ios":["4", "7", "5"]},...]
所有幫助將不勝感激!
可能重複[允許的內存大小33554432字節用盡(試圖分配43148176字節)在PHP](http://stackoverflow.com/questions/415801/allowed-memory-size-of-33554432-bytes-exhausted -tried-to-allocate-43148176-byte) –