こんにちは、さち です。
先日、PHP のコーディングをしていて「改行」を含む「テキスト」を echo
で表示したかったのですが、上手くいきませんでした。
原因はものすごく単純で、一度理解すれば簡単な方法で解決できました。
ただ、知らないとハマってしまう内容だったので、備忘録としてこの記事を残しておきます。同じことで困っている方のお役に立てれば幸いです。
ダメだった例
コード
<?php echo '蓮ノ空女学院\nスクールアイドルクラブ'; ?>
実行結果
結果
蓮ノ空女学院\nスクールアイドルクラブ
入力した \n
がそのまま表示されてしまいました。「改行」したかったのに……。
修正方法
原因
ダメだった原因は '(シングルクォート)
で囲んだことです。
"(ダブルクォート)
で囲むことで、\n
が「改行」に変換されるようになります。
修正したコード
コード
<?php echo "蓮ノ空女学院\nスクールアイドルクラブ"; ?>
実行結果
結果
蓮ノ空女学院
スクールアイドルクラブ
スクールアイドルクラブ
テキストを囲んでいた記号を "(ダブルクォート)
に変更して、ちゃんと \n
が「改行」として機能するようになりました。
「変数」も表示される
コード
<?php $school = '蓮ノ空女学院'; echo "$school\nスクールアイドルクラブ"; ?>
実行結果
結果
蓮ノ空女学院
スクールアイドルクラブ
スクールアイドルクラブ
"(ダブルクォート)
で囲んだ中では「変数」も中身が表示されます。
常に「"」でよくない?
"(ダブルクォート)
だけ使えばよくない?……と思うかもしれませんが、そうでもありません。
実は、"(ダブルクォート)
は \n
や「変数」などを変換する処理が入るため、処理速度が遅くなります。
'(シングルクォート)
の方が処理が速いので、「テキスト」を表示するだけのときは積極的に使っていきましょう。
コメント