質問: $delete) { array_splice($delarray, $j, 1); flock($fp, LOCK_EX); file_put_contents($fp, implode("\n", $delarray));//問題の箇所 break; } } break; } } ?> ``` まだまだ未熟者で汚いソースと思いますが、よろしくお願いします。 var_dump($delarray)の出力結果 ↓ { array(4) { [0]=> string(54) "1<>アンパンマン<>アンパンラブ<>15時46分 " [1]=> string(54) "2<>ジャムおじさん<>ジャムラブ<>15時47分 " [2]=> string(54) "3<>バタコさん<>バター塗りたい<>15時47分 " [3]=> string(45) "4<>チーズ<>キャンキャン<>15時47分 " } } ↓入力結果 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/769c25d579ea5fbe82823b88557c3467.png)
回答: file_put_contents() 第1引数は文字列(指定するのはファイル名のパスの文字列)です。 (WarningメッセージをGoogle翻訳にかけてみてください) fopen()の返却値は「リソース」であって「文字列」ではありません。 書き込んだ情報を保管しているファイル名を第1引数に入れると良いです。 あと、Kadai2_15.txtというのが同じコードの中に何度も出てきます。 そういうときこそ冒頭など共通で参照できる箇所に変数を定義しておき、 変数をそれぞれの箇所にあてると間違いが減りますよ。 ``` $fileName = 'Kadai2_15.txt'; ~~~ $fp = fopen($fileName, 'a+'); ~~~~ $text_rows = file($fileName); ~~~ ```