• ベストアンサー

fputで出力した文字列を改行するには?

PHP初心者です。 いくつかの文字列変数をテキストファイルに書き出す処理を行いたいのですが、うまく動作してくれません。 文字列変数 $str_a, $str_b, $str_cをカンマで区切ってテキスト1行でファイルに書き出しています。 $str = $str_a . ',' . $str_b . ',' . $str_c . '\\r\\n'; fputs($fp, $str); 上の2行がループで数回呼ばれた後、ファイルをクローズしているのですが、実際に作成されたテキストファイルを見ると a1,b1,c1\r\na2,b2,c2\r\n....みたいに改行が入らず"\r\n"という文字列があるだけです。希望しているのは a1,b1,c1 <-ここで改行 a2,b2,c2 <-ここも改行 という結果なのですが.... よろしくご教授お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#24096
noname#24096
回答No.1

「\r」「\n」は特殊文字なので二重引用符(")で括る必要があります。 引用符(')で括った場合は、単なる文字列と見なされます。 詳しくはマニュアルをどうぞ。

参考URL:
http://www.php.net/manual/ja/language.types.string.php
harutomo777
質問者

お礼

引用符と2重引用符で動作が異なるというのは聞いていましたが、引用符ないでは特殊文字も単なる文字列になるとは知りませんでした。 ありがとうございます。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

$str = "$str_a,$str_b,$str_c\n"; でいいんじゃないでしょうか

harutomo777
質問者

お礼

うまく行きました。 ありがとうございます。

関連するQ&A