• ベストアンサー

PHP の print_r( ) 関数について

お世話になります。 上記タイトルの関数の出力形式について、添付のスクリーンショットを参考に質問させていただきます。 この関数の使い方などを調べてみると、出力の例として必ず添付写真の赤で囲ったようなものを見ます。 しかしわたしが2次元配列を作って出力したものは緑枠の中のように、内容がよくわかるようなものでなく、ただ連続して出力されています。 print_r( )関数を使うといつもこれです。 赤枠のようにきれいに出力する方法を教えていただきたいと思います。

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

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6816/9690)
回答No.1

改行を1スペースに表示しているのは、ブラウザのHTMLレンダリングエンジンです。 例えば、 ---test.html--- Aaa bb ccc dddd. ----ここまで---- と言う内容をブラウザで表示すると、 Aaa bb ccc dddd. と言う一行になります。これは、英文テキストにとって都合の良い仕様なんです。 つまり、print_r の出力としては改行されていますが、そのテキストをHTMLとして解釈するブラウザが、一行に表示してしまっていると。 PHP実行結果が表示されたところで、「ページのソース」を確認してみてください。 改行そのままでブラウザ上に表示したいなら、出力を <pre>~</pre> タグで挟むか、CSSで「white-space:pre」指定をすると良いでしょう。 >white-space 「スペース・改行の表示方法」【CSSリファレンス】 >https://web-designer.cman.jp/css_ref/abc_list/white-space/

papashiroSooke
質問者

お礼

早速にご回答をいただき、有難うございます。 echo "<pre>"; print_r($data); echo "</pre>"; とすることで、きれいに表示されました。 また一つ新しいことを覚えました。 感謝いたします。

関連するQ&A