【PHP】 「echo」を使うときに「\n」で「改行」したい

この記事は約3分で読めます。
記事内に広告が含まれています

コーディングのイメージ

こんにちは、さち です。

先日、PHP のコーディングをしていて「改行」を含む「テキスト」を echo で表示したかったのですが、上手くいきませんでした。

原因はものすごく単純で、一度理解すれば簡単な方法で解決できました。

ただ、知らないとハマってしまう内容だったので、備忘録としてこの記事を残しておきます。同じことで困っている方のお役に立てれば幸いです。

スポンサーリンク

ダメだった例

コード

<?php
  echo '蓮ノ空女学院\nスクールアイドルクラブ';
?>

実行結果

結果
蓮ノ空女学院\nスクールアイドルクラブ

入力した \n がそのまま表示されてしまいました。「改行」したかったのに……。

 

修正方法

原因

ダメだった原因は '(シングルクォート) で囲んだことです。

  "(ダブルクォート) で囲むことで、\n が「改行」に変換されるようになります。

修正したコード

コード

<?php
  echo "蓮ノ空女学院\nスクールアイドルクラブ";
?>

実行結果

結果
蓮ノ空女学院
スクールアイドルクラブ

テキストを囲んでいた記号を "(ダブルクォート) に変更して、ちゃんと \n が「改行」として機能するようになりました。

知っていると役立つ知識

文字の「"」を使いたい場合

コード

<?php
  echo "\"MY LIST\" to you!\nAqours";
?>

実行結果

結果
"MY LIST" to you!
Aqours

\" のように記述(エスケープ)することで、 "(ダブルクォート) で囲んだ中でも " を表示できます。

「変数」も表示される

コード

<?php
  $school = '蓮ノ空女学院';
  $club = 'スクールアイドルクラブ';
  echo "$school\n$club";
?>

実行結果

結果
蓮ノ空女学院
スクールアイドルクラブ

"(ダブルクォート) で囲んだ中では「変数」も中身が表示されます。

常に「"」でよくない?

"(ダブルクォート) だけ使えばよくない?……と思うかもしれませんが、そうでもありません。

実は、"(ダブルクォート)\n や「変数」などを変換する処理が入るため、処理速度が遅くなります。

'(シングルクォート) の方が処理が速いので、「テキスト」を表示するだけのときは積極的に使っていきましょう。

コメント

タイトルとURLをコピーしました