###前提・実現したいこと
$query
に5万のデータが入っています。
foreach
で5万件をループさせると以下のエラーが出ます。
ここにご自身が実行したソースコードを書いてください
そこで、$query
を1万件に分割し
それぞれをforeach
で出力したいです。
###該当のソースコード
PHP
1foreach ($query as $data) { 2 $data = [ 3 $data['id'], 4 $data['name'] 5 ]; 6 fputcsv($fp, $data); 7 }
###補足情報
前回の質問
https://teratail.com/questions/78718#reply-123901
yambejp様の助言
$query
を1万件に分割して、foreach
で出力の方法が自分の実力ではできず、、どのように実装すればいいのでしょうか。
5万件のデータを取得する前に分けられないんでしょうか?
難しいです。5万件のデータを取得後だと分割は厳しいでしょうか?
一件当たりかなり大きいのでしょうか?
1件あたり、データベース上で数えると18個のカラムです。
ただ、idだけで出力しようとしてもメモリ不足になります。
※追記 もう一度、IDのみの場合を試したところ、「このサイトにアクセスできません」のページは表示されてしまいますが、CSVダウンロードはできました。
幾つか質問はわけてはいるものの組み合わせると結果的に丸投げになっている気がするんですが・・・。気のせいならいいんですが。
matsu様 申し訳ございません。配列の分割方法が自分でイメージできず、前質問とは質問が異なるため、別の質問を立ち上げようと判断しました。
回答1件
あなたの回答
tips
プレビュー