アプリ版:「スタンプのみでお礼する」機能のリリースについて

配列をfile_put_contentsで書き込みたいのですが上手く行きません。
どの様に記述すれば良いか教えて下さい。

<?php

$list=array(
array(1,'山田一郎', '30','東京都渋谷区'),
array(2,'佐藤二郎', '25','大阪府大阪市'),
array(3,'鈴木三郎', '22','神奈川県横浜市'),
array(4,'高橋四郎', '18','北海道札幌市'),
array(5,'斉藤五郎', '16','愛知県名古屋市')
);


$fp='file.csv';  

foreach($list as $lists) {
$line = implode(',' , $lists);

file_put_contents($fp,$line);

}

?>

全ての配列を書き込みたいのですが一番最後しか書き込みされておりません。教えて下さい。
お願いします。

A 回答 (1件)

書き込みために使っている関数ですが、呼び出すたびにファイルを作成して上書きする挙動となるので、最後の書き込み内容だけが残ります。


https://www.php.net/manual/ja/function.file-put- …

変更案1
カンマと改行でひとつなぎにした文字列 $lines を一回だけ書き込む

変更案2
file_put_contents の代わりに
fopen / 行ごとに fwrite / fclose を呼び出す
    • good
    • 0
この回答へのお礼

ありがとうございます!
出来ました!

お礼日時:2023/03/20 14:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!