文字列の中の変数展開
例えば以下のコードがあったとします。
$a = "山田";
これは$aに文字列の「山田」が代入されているということはもう分かりますよね!
echo $a;
とするとブラウザには「山田」と表示されます。
ではブラウザに表示させる場合に変数と文字を一緒に表示させてみましょう。以下の例文を見てください。
$name = '山田'; echo "こんにちは。$name さん";
この場合、ダブルコーテーションで囲まれている部分
“こんにちは。$name さん”
は文字列として認識されます。
そのため出力結果は「こんにちは。山田 さん」となります。しかし変数$name
が文字列としてecho
されているということは、一見
「こんにちは。$nameさん」
と表示されるのではないかと思いますよね。
実はこのように変数がダブルコーテーションで囲まれた場合は変数の中の値に置き換わるという特色があるんです。そしてこのことを 変数展開 といいます。
では次にどこまでが変数かわからなさそうな例を見てみましょう。
$color = 'blue'; echo "Sky is $clolorcolor";
上記の例では$colorに「blue」が代入されております。ここでは「Sky is blue color」と表示させたいが、例のような場合はどこまでが変数なのか分かり難いですね。またこれを表示させようとすると変数以降が表示されません。
このような場合は
{}
で囲んで記述します。
echo "Sky is ${color}color";
出力結果:Sky is blue color
まとめ
ダブルコーテーション
""
で文字と変数を囲むと、変数部分は変数の値が出力される。このことを 変数展開 という。
記述する際は変数の部分を中カッコ
{}
で囲む。
例:echo “This is a ${item}”;
なお今まで文字列を表す際にダブルコーテーションで説明しましたが、シングルコーテーションで表示させようとすると変数展開が行われませんので注意してください。