• ベストアンサー

\tはどんなときに使うのでしょうか?

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

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

  • ベストアンサー
  • 0909union
  • ベストアンサー率39% (325/818)
回答No.3

他の方と回答は一緒ですが、効果から考えるとよく分かるかと思います。 基本的にPHPの出力先の標準出力はブラウザなどのクライアントにHTMLと表示されるので、文字列の整形はHTMLにさせていると思います。それで、疑問に思ったかもしれませんね。 「\t」などはシェルの機能として標準出力に整形した文字列を表示させるためにシェル側の機能がそのまま使えるだけなので、無理して使う必要はありません。 使うチャンスは動的に作成されるメッセージなどにあるかと思います。他には掲示板とか、<PRE>タグなどを使う時に便利に使えますね。 標準出力に対して、整形されたテキストを表示させる時に、一番困るのが、全角と半角が混じった複数行の文字列を頭又は尻をそろえる時ですね。 特定されている文字だと、半角スペースで埋めれば、なんとなくできます。しかし、それでも何度もやりなおして、フォーマットしますね。 それが行頭に"\t"、単語の語尾に"\t"とつけるだけで、2行目以降の2列目、3列目の行頭が全てそろってしまいます。 一番便利なのが、「メニュー」であったり、データーの表示ですね。 例えば、シェルのコマンドを実行させた結果をHTMLで整形させて表示させるのに、時間を掛けずに簡単にすると、シェルの機能を使ったほうがいい場合もあります(それだと文字コードに問題がでる場合もありますが)。

slowMay
質問者

お礼

>基本的にPHPの出力先の標準出力はブラウザなどのクライアントにHTMLと表示されるので、文字列の整形は HTMLにさせていると思います。それで、疑問に思ったかもしれませんね。 まさにそうなんです!言葉足らずだったのに的中だったのでびっくりしました。分かりやすい説明をありがとうございました。

その他の回答 (3)

回答No.4

テキストファイルの形式でcsvというのをご存じでしょうか? 項目を「,(カンマ)」で区切る形式です。 それと同様にtsv形式というのがあります。 項目をタブで区切る形式です。 私は業務でtsv形式のファイルを出力するシステムを作っているので、\tは使いまくりです!

slowMay
質問者

お礼

csvは知ってましたがtsvは初めて聞きました。そういう種類もあるんですね。ありがとうございます。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

インデントや文字の区切りに使いますね。 もとはタイプライタの仕様のようですがワープロでも普通につかいます PHPで特別にどう?といわれると特化したものではなく、 コンピュータを使う上での基本的な知識ということです http://ja.wikipedia.org/wiki/%E3%82%BF%E3%83%96%E3%82%AD%E3%83%BC

slowMay
質問者

お礼

PHPだけのものではないんですね。新発見です!ありがとうございます。

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

「タブストップ」と呼ばれる位置まで間を空けて表示します。 a\t1 ab\t2 abc\t3 だったら、1,2,3が全て同じ桁に揃います。 制御文字が表示されるテキストエディタで実際にやってみるとわかりやすいと思います。 a>......1 等と表示され(表示はエディタ毎に違いますが)一つのタブで桁が揃う様子がわかると思います。 他に、項目をタブで区切ったデータ、というのもあります。 Excelで「テキストファイル(タブ区切り)」というのがあると思いますが、それです。カンマ区切りのCSVの、カンマの代りにタブを使うものです。 ただ、PHPが活躍するHTML等は、タブ文字は空白文字と同じと見做されるので、桁揃えには使えません。 タブ区切りのテキストファイルを読み込んで、タブで分割して配列に入れる、とか、逆に配列をタブで区切ってテキストファイルに出力とか、そういう場面での利用になると思います。

slowMay
質問者

お礼

Excelの「テキストファイル(タブ区切り)」はそういう意味だったんですか!とても勉強になりました。ありがとうございます!

関連するQ&A