$csv = "";
foreach ($rs as $r) {
foreach ($r as $val) {
$csv .= $val . ",";
}
$csv .= "\n";
}
っていうのよく見るけど
$rows = [];
foreach ($rs as $r) {
$row = [];
foreach ($r as $key => $val) {
$row[] = $val;
}
$rows[] = join(',', $r);
}
$csv = join("\n", $rows);
ってすれば最後判定しなくてええんやで
array_values でええやんけ って思うけど まあサンプルだから
実際はもうちょっといろいろ面倒なことやってるでしょ
要は、逐次結合じゃなくて配列詰んでループ後にjoinしよ、というお話