##この記事を書いた理由
現在、PHP教材を執筆していて初めて知ったことがあったので残しておこうと思います。
##PHPでの文字列+変数の出力について
例えば、変数$name
に"yamada"
という文字列を代入してHello!yamada
という文字列を出力するケースを試します。
<?php
$name = "yamada";
echo $name;
//実行結果:yamada
echo "Hello!".$name;
//実行結果:Hello!yamada
echo 'Hello!$name';
//実行結果:Hello$name
echo "Hello!$name";
//実行結果:Hello!yamada
echo "Hello"$name;
//実行結果:エラー
?>
上記の実行結果
を見ていただければわかると思いますが、
文字列+変数の出力の方法で一般的に知られているのは2つ目の
<?php
$name = "yamada";
echo "Hello".$name;
?>
だと思います。
echo "文字列".(変数);
の形ですね。
ですが、もう一つ、4番目の方法でも出力可能ということを初めて知りました。
<?php
$name = "yamada";
echo "Hello$name";
?>
下記のようにダブルクオーテーション
で囲むと連結するために必要な.
がなくても出力されるんですね。
びっくり。
echo "文字列(変数)";
ちなみにシングルクオーテーション
の場合は上手く出力できません。
調べてみると、シングルクオーテーションとダブルクオーテーションには実が違いがあリました。
シングルクオーテーション(' '):完全にそのまま利用する
ダブルクオーテーション(" "):評価できるものは評価する
上記の通り、ダブルクオーテーション
の場合は$name
が変数である
と評価されて変数の値が適用されたと言えます。
いやー、びっくりしました。
##まとめ
PHPで文字列を出力するには2つの方法がありました。
ただ、一般的に多く使われているのは
echo "文字列".(変数);
こちらですので、こちらを使うのが良いかなと思います。
僕もこちらを普段から使っています。
とまあ、こんな感じで記事は以上です。
最後まで読んでいただきありがとうございました!!