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

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

コーディングのイメージ

こんにちは、さち です。

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

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

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

スポンサーリンク

ダメだった例

コード

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

実行結果

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

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

 

修正方法

原因

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

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

修正したコード

コード

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

実行結果

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

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

「変数」も表示される

コード

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

実行結果

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

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

常に「"」でよくない?

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

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

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

コメント

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