• ベストアンサー

\n で改行する意味って??

最近少しPHPプログラミングを始めました。 なので超初心者です。 ネットなどでPHPのサンプルを見ていたら、よく『\n』というものを目にします。 調べてみたところ、エスケープシーケンスと呼び改行のような作用をする、という事は分かったのですが、 実際のサイト画面上では改行されないのに、何の為に使うんですか?そこが良く分かりません。 教えて下さい!!

  • PHP
  • 回答数4
  • ありがとう数1

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

  • ベストアンサー
  • aqucent
  • ベストアンサー率39% (78/200)
回答No.3

> 実際のサイト画面上では改行されないのに、何の為に使うんですか? あえて言うなら、「ソースを確認する時に判りやすいように」ですかね。 「HTMLを手書きで入力するときに、なぜ改行を入れるのか」と同じ理由ではないでしょうか。 改行が全くないソースは見辛いので、私は改行を入れています。 また、ファイルから内容を読み込む時には、file関数を使えば、一行ずつ配列に格納できる、という利点があります。 $lines = file('data.log');

参考URL:
http://jp.php.net/manual/ja/function.file.php

その他の回答 (3)

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.4

デバックをするときに見やすいようにするため。 HTMLを見られたときに「センスねー」といわれないため(笑)。 HTMLだけを考えるのでしたらとくに意味はありません。 ただ、PHPはHTMLを書く出すだけではありませんので、ほかの処理(メール送信やプログラム制御やら)を考えるときは必要になります。 (改行しないとまともに動かない場合もあります)

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.2

echo "あああ<br>"; echo "いいい<br>"; echo "ううう<br>"; echo "あああ<br>\n"; echo "いいい<br>\n"; echo "ううう<br>\n"; を実行して、ブラウザからソースを表示してみてください IEを使っているならば メニューの 表示>ソース(C) でソース表示できます ブラウザ上の表示は同じですが、出力されるHTMLソースレベルで違いが分かるかと思います

  • pipipi523
  • ベストアンサー率40% (148/365)
回答No.1

\nはテキストデータの改行です(メモ帳で開いた時などの改行部分です) ローカルのファイルを1行単位で読み込む等はこれが区切りになったりします ちなみにブラウザで見た場合はこれで改行はされません(HTMLはそういう決まりなのです) ※サイトの画面上で改行するには<br>と表示します

関連するQ&A

  • phpの<br>\nと\nとエスケープシーケンスについて

    現在、phpを学んでいるのですが、いきなり"<br>\n"と"\n"の違いがわからなくて困っています。\nはエスケープシーケンスで改行を意味するのですよね?<br>も改行を意味するから・・・わざわざダブルクォーテーションの中に<br>を書かなくても良いのでは・・・ と思うのですが・・・違うのでしょうか!? またエスケープシーケンスについてなのですが、 ¥を付けて表す特殊文字がエスケープシーケンスなのですね。 しかし、シングルクォーテーション内では「¥’」と「\\」だけが使える。 ダブルクォーテーション内では記述すると画面に表示されないということですが・・・。 ではエスケープシーケンスっていつ使うのですか?使い道がないような気がするのですが・・・・。 使えるのは、シングルクォーテーション内の「¥’」と「\\」だけになるのでは・・・・。 そのへんのところを教えてください。

    • ベストアンサー
    • PHP
  • \tはどんなときに使うのでしょうか?

    PHP初心者です。 エスケープシーケンスの「\n」や「\\」は、改行されてたり「\」が表示されたりと画面で確認できます。「\t」はタブとして使うものと解説されてましたが、どんなときに使うものでしょうか?使い道が分からなくて困っています。よろしくお願いします。

    • ベストアンサー
    • PHP
  • (php) メールの改行コードについて

    phpでプログラミング中です。 メールを送信する際に 、メッセージ中に改行コードを入れたいのですが 思ったように改行してくれません。 (メールを送信はRestAPIを使って行っていますので、詳しくはわかりません) 実際には、思ったとおりに改行してくれていたのですが、そのRestAPIをバージョンアップしたら、改行されなくなってしまいました。 エディタ上での改行、 \n \r \r\n 全て試したのですが、  エディタ上での改行では、改行されず、 \r、\n、\r\n、全て2行改行になってしまいます。 PHP_EOLも使ってみましたが、改行されませんでした。 見た目、改行されているのはどうも、そのAPI自身が 70文字を超えたら改行しているように見えます。 他に改行するコード、改行する方法はありますでしょうか? 何でも試したいのです。 APIの開発元に聞いたり、バージョンアップの内容がわかればよいのでしょうが それを確認することは出来ない状態です。 何故出来ない? って言われそうですが。すみません。。。

    • 締切済み
    • PHP
  • C言語 エスケープ文字 エスケープシーケンス?

    プログラミング初心者です。 早速ですが現在、C言語入門書に目を通している最中なのですが理解出来ない部分が有ります。 内容としましては 「エスケープ文字」 に関してです。本書ではあまり理解出来なかったのでネットで検索していると、「エスケープシーケンス」 と言う用語も数多く出てきました。 いろいろ検索し私なりに出した答えは..... •エスケープ文字 = 文字が持つ特別な意味を無効にする為の文字。 •エスケープシーケンス = 改行などの特殊な文字を英数字の組み合わせで表現した物。 と....上記の様に私は理解しているのですが現在読んでいるC言語入門書の内容だとエスケープ シーケンスと考えられる説明が 「エスケープ文字」 として記述されています。 それはC言語ならではの扱い方なのか?、本書の内容が間違っているのか? 分かりづらい説明だと思うのですがよろしくお願いいたします。 因に現在読んでいる入門書は 「読本C-C言語徹底攻略」 と言う本でかなり昔のになります。 

  • printf("文字列\n")が円マークなんです!!斜線がでない!!

    うちのノートパソコン(IBM)OSはTurbolinux Personalと、デスクトップ(NEC)OSはWindows2000でC言語のプログラミングをすると文字が変なんです。 printf("文字列\n"); と改行のエスケープシークエンス?を入力すると円マーク(\)なんです!! 右下がりの斜線のキーを押してるのに円マーク(\)しかでないんです。二つのPCどちらでやってもです。C言語のテキストでは右下がりの斜線とnで改行のエスケープシークエンス?になっているので見ていて気持ちが悪いです・・・。 ちゃんと右下がりの斜線は出せないものでしょうか。ちなみにキーボードには右下がりの斜線が書いてあります。 プログラミング上も\nで右下がりの斜線と同じ、改行の意味で理解されているらしく、ちゃんと改行されます。 でも右下がりの斜線じゃないと気持ち悪い・・・。直せませんか?

  • 改行や、タブを含む正規表現の方法

    HTMLからある部分抜き出す時、 たとえば、あるソースから <title>なんたら</title> という言葉を抽出する場合、 $htmlに全ソースが格納されていると仮定して 単純な正規表現で preg_match('/<title>なんたら</title>/', $html, $matches); といえれると、"<title>なんたら</title>"という文字が出せます。 ところが <title>   なんたら </title> のような改行やらタブが含まれていると抜き出すことができませんでした。 いろいろ調べますと、文字エスケープシーケンスというものがあり \nは改行 \tタブと書いてあるサイトがありましたので preg_match('/<title>\n\tなんたら\n</title>/', $html, $matches); という風に記述してみました。 しかし、それでも改行とタブの含まれた<title>から 文字を抜き出すことはできませんでした。 改行とタブの含まれた<title>から 文字を抜き出すには、どのような記述をすれば良いのか ご指導お願いいたします。

    • ベストアンサー
    • PHP
  • メールの改行除去?

    PerlやPHPなどでメールを送信するプログラムについてです。下記のページにセキュリティについて書いてあるのですが、具体的な意味が分からず困っております。 【送信されてくるデータの改行コード「\n」を削除、もしくは、エスケープせず、そのままsendmailに渡している】 http://sb.xrea.com/showthread.php?t=10113 <br>タグを\nに置換しなければならないという事でしょうか? ・・・意味を取り違えているかと思いますので、ご教授下さい。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • 文章の改行の取り扱いについて

    CGIをPerlで組んでいます。 掲示板を運営しておりまして、利用者がTextareaフォームで文章を入力するのですが、改行がいつの間にか認識されなくなってしまいました。 認識されなくなったというのは、登録の時ではなくて、保存したモノを呼び出す時です。 保存の仕方が悪いのかと思ったりもしますが、 突然そうなってしまったので、理由がよく分かりません。 (1)一般的に、改行のエスケープシーケンスは \n と \r があるかと思うのですが、 それぞれ何が違うのでしょうか? ちなみに掲示板はi-modeとPCと両方に対応しており、 同じ内容をi-modeでもPCでも読めるようになっています。 (2)また、入力された文章をファイルに保存する時の 改行コードの置換は どのような方法がベストなのでしょう? なにか手がかりになるようなコメントでも構いませんのでよろしくお願いいたします。 _

    • ベストアンサー
    • CGI
  • PHP 改行

    phpをはじめたばかりの初心者です。 <?php print('1行目の分'); print("\n"); print('2行目の分'); ?> と打ち、そのファイルをアップロードし、ブラウザで確認しても 改行がされていませんでした。 調べてみると、htmlで表示させるには<br />が必要みたいな事があったので、 print("\n"); を print("\n<br />"); と、<br />を適当に入れてみたら改行されましたが 何か釈然としません。 であればそもそもPHPの改行を表すprint("\n");は何のためにあるのでしょうか? print("\n");だけでは改行表示がされないのは、どういう風に考えればいいのでしょうか? その考え方を教えて下さい。 print("\n");は単体で使う事はあるのでしょうか?

    • ベストアンサー
    • PHP
  • 文字コードと改行

    お世話になります。 PHPではじめてプログラミングにチャレンジしています。 はじめての作品で文字コードのことを全く気にせずにMAC版ドリームウェバーで作っていると一部のブラウザで文字化けが発生しました。 参考書などでは、PHPファイルはeuc-jpで記述しましょうと書かれてありますが、実際どうなのでしょうか? Let's PHPさんのサイトや、過去の質問等、読んで行けばいくほど混乱してしまいました。 PHPでプログラミングする場合、文字コードと改行コードの設定は、どのようにするのが良いのでしょうか? プログラムはeuc-jpで、出力はshift-jisの手順も教えて頂きたいです。 宜しくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう