目次
PHP「’」と「”」で囲む場合の違い
PHPのコマンドecho で文字列を囲う場合、「’」「”」のどちらで囲っても良いとされています。
間違いではないのですが、例外もあります。
変数を囲う場合
echo の文字列と変数を連結して使用する場合・・・
- 変数内容を出力するためには「”」(ダブルクォーテーション)で囲みます
- 「”」で囲むと、{$変数}、$変数 どちらでも使用可能で、変数内容が出力される
- 「’」で囲んだ場合、{$変数}、$変数はそのまま文字として出力される
<?php $txt = '+テキスト②' echo "テキスト①{$txt}"; // HTML出力結果:テキスト+①テキスト② echo "テキスト①$txt"; // HTML出力結果:テキスト+①テキスト② echo 'テキスト①{$txt}'; // HTML出力結果:テキスト①{$txt} echo 'テキスト①$txt'; // HTML出力結果:テキスト①$txt ?>
違いわかりますかね?
(ホント、ややこしいけど…)
特殊文字を使用する場合
特殊文字はエスケープシーケンスという「¥」使って記述します。
echoの文字列内で特殊文字を使用する場合・・・
「”」(ダブルクォーテーション)で囲みます
<?php echo "犬はワンと吠え¥n猫はニャンと鳴く" /* HTML出力結果: 犬はワンと吠え[改行] 猫はニャンと鳴く echo '犬はワンと吠え¥n猫はニャンと鳴く' /* HTML出力結果: 犬はワンと吠え¥n猫はニャンと鳴く ?>
「”」内の特殊文字は、特殊文字の効果があります。
「’」内の特殊文字は、特殊文字は文字としてそのまま出力されます。
特殊文字の種類
特殊文字の種類は以下の通りです。
記号(表記) | 読み方 | 意味 |
---|---|---|
¥n( \n ) | LF(ラインフィールド) | 改行:1行下に移動する |
¥r( \r ) | CR(キャリッジリターン) | 改行:左マージン位置に戻る |
¥t( \t ) | – | タブ |
ほとんどの場合、¥n( \n )を使用します。