私は、ユーザーがチャートを持つリストを参照する必要があるアプリケーションで作業しています。グラフのデータはデータベース(現在は約785行)から取り出され、ソートされて有効なJSON文字列になります。エラー:右私はそれが「536870912バイトの許可メモリサイズが使い果たさ(71バイトを割り当てしようとした)致命的なエラー」を与えるのコードを実行しようとすると、この大規模なJSON文字列を作成するPHP
よう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);
それをやろうではありません。私は最大限のメモリを増やそうとしましたが、何が起こるか見るだけですが、私は同じ結果を得ました。
これほど多くのループを実行する必要はありませんか?あるいは、私はこれと全く違うやり方からアプローチしなければならないのですか?
最終的な結果は、すべてのヘルプはいただければ幸いです。この
[{"name":"Some name", "date":["2016-05-09", "2016-05-10", "2016-05-11"], "android":["3", "1", "8"], "ios":["4", "7", "5"]},...]
ようになるはずです!
[許容されるメモリサイズは33554432バイト(43148176バイトを割り当てようとしました)](http://stackoverflow.com/questions/415801/allowed-memory-size-of-33554432-bytes-exhausted) try-to-allocate-43148176-byte) –