phpでの改行の仕方を解説!nl2brを使いこなそう!



phpでの改行の仕方を解説!nl2brを使いこなそう!
目次
  1. 改行をして見やすくしよう!
  2. ソースコード中にhtmlの改行文字を入れる
  3. preタグで改行させる
  4. nl2brを使って改行させる
  5. まとめ

改行をして見やすくしよう!

突然ですがechoを使って文字出力を行う時に、下記のようにうまく改行されず見えづらいと思ったことはないでしょうか。

<?php
  echo 'こんにちは';
  echo 'さようなら';
<実行結果>
こんにちはさようなら

そうなんです。echoを使うだけでは改行されないんです。Rubyならpで出力するごとに改行されるし、JavaだってSystem.out.printlnを使えば出力ごとに改行されるのに…。

といった感じでPHPで改行するには少し手間が必要なんですね。

ちなみに「\n」の改行コードを使えば改行されるんじゃ?って思ったりもしますが、

<?php
  echo 'こんにちは\n';
  echo 'さようなら';
<実行結果>
こんにちは\nさようなら

\nって文字として出力されるんかい!っていう。

この記事ではそんな悩みを解消するための改行の仕方を解説していきます。

ソースコード中にhtmlの改行文字を入れる

じゃあ改行コード「\n」が使えないならじゃあhtmlの改行文字である「<br>」はどうだ!

<?php
  echo 'こんにちは';
  echo '<br>';
  echo 'さようなら';
<実行結果>
こんにちは
さようなら

改行できました!

でも一回だけならまだしも、何回も改行する場合に毎回brタグを書くのは大変そうです。そこで、他のやり方も続けて見ていきましょう。

preタグで改行させる

htmlのpreタグを使ってprint_rを出力すると改行がそのまま表示されます。preタグは要素内の改行や半角スペースをそのまま表示してくれるというタグです。

<pre>
<?php
  $text = 'こんにちは
  さようなら';

  print_r ($text);
?>
</pre>
<実行結果>
こんにちは
さようなら

確かに、改行が改行のまま表示されています!

ただこのpreタグは改行があれば改行してくれますが、改行がない場合は改行がされません。preタグで囲まれた文字列は改行ない限り、折り返されずに出力されてしまいます。そのため、実際に画面に表示するために使うのではなく、デバッグの際に用いることが望ましいです。

preタグはデバッグの際に利用するといいましたが、真骨頂は配列や連想配列などの変数を見やすく出力してくれる部分にあります。

例えば、配列の中身を表示したい場合にechoを用いると、

<?php
  $array = array(
    'dog' => '犬',
    'cat' => '猫'
  );

  echo $array;
<実行結果>
Array

こんな風に配列ということだけは教えてくれるのですが、その中身までは表示してくれません。ですが、preタグとprint_rを使えば、

<pre>
<?php
  $array = array(
    'dog' => '犬',
    'cat' => '猫'
  );

  print_r ($array);
?>
</pre>
<実行結果>
Array
(
    [dog] => 犬
    [cat] => 猫
)

といった感じで見やすく表示してくれます!このようにデバッグの際にはpreタグを用いるといいでしょう。

nl2brを使って改行させる

nl2br関数という改行コード「\n」を実際に改行として出力してくれる関数があります。

<?php
  echo 'こんにちは';
  echo nl2br('/n');
  echo 'さようなら';
<実行結果>
こんにちは
さようなら

もし何度も書くのが面倒なら関数にしてしまえば多少は楽になるかと思います。

<?php
  function br() {
    echo nl2br('\n');
  }

  echo 'こんにちは';
  br();
  echo 'さようなら';
<実行結果>
こんにちは
さようなら

改行できたし、見やすくなりました!

Webサイト担当者としてのスキルが身に付く

CodeCampの無料体験はこちら

まとめ

PHPの文字出力で改行したい場合、デバッグ時にはpreタグ、それ以外はnl2br関数を使用すると良いでしょう!

CodeCampus編集部
この記事を書いた人
CodeCampus編集部
\ 無料体験開催中!/自分のペースで確実に習得!
オンライン・プログラミングレッスンNo.1のCodeCamp