本記事では、PHPで文字列中に変数を埋め込むことができる
「変数展開」の使い方とそのメリットなどを紹介していく。
(PHP) 変数展開とは
変数展開とは、簡単に言うと
文字列中に変数を埋め込むことができるPHPの機能のことだ。
サンプルプログラムを見てもらうのが一番分かりやすいので、
以下にサンプルプログラムを用意した。
<html> <body> <p> <?php $name = '田中たろう'; print "私の名前は{$name}です"; ?> </p> </body> </html>
上記のファイルにブラウザからアクセスすると次のように表示される。

特に不明点はないだろう。
変数$nameが文字列中に埋め込まれる形で記述されているにもかかわらず、きちんと変数の中身が文字列の中に展開されて表示されているのが分かる。
このように文字列中に変数を埋め込むことができるのが変数展開という機能だ。
変数展開の使い方
変数展開の使い方は、以下の2点だ。
- 文字列中に、{$変数名}という書式で記述する。
- 文字列はダブルクオーテーションで囲っておく
①文字列中に、{$変数名}という書式で記述する。
変数展開を使う際は、
展開したい文字列中に、{$変数名}という書式で記述する。
一応中括弧{}は必須ではないのだが、、以下のサンプルプログラムが示すように、
どこまでが変数なのかがぱっと見でわかりづらくなるため、変数展開をする際は、{$変数名}という書式で書くのがセオリーだと考えておけば問題ない。
#変数展開で中括弧{}を使わないとコードが見ずらくなる例 $color = 'blue'; echo "color is $colorcolor"; #ぱっと見でわかりづらい
② 文字列はダブルクオーテーションで囲っておく
変数展開を使う際は、
文字列はダブルクオーテーションで囲うのがルールだ。
文字列をシングルクオーテーションで囲った場合は変数展開が使用できないので注意しよう。
#文字列をシングルクオーテーションで囲った場合は変数展開が行われない $color = 'blue'; echo 'color is {$color} '; #文字列をシングルクオーテーションで囲むのはだめ
変数展開を使うメリット
変数展開を使うメリットは、
コードの記述が楽になることと、コードの可読性が上がるという点だと筆者は思っている。
変数展開を使う場合と使わない場合を比較してみると、以下のような違いがある。
#変数展開を使う場合 print "私の名前は${name}です"; #変数展開を使わない場合 print "私の名前は" . {$name} ."です";
上記の例だと文字列自体が短いのであまり差は無いように見えるが、文字列が長くなったり埋め込む変数の数が多くなったりすると、変数展開を使用した方がコードを書く側としては変数展開を使用しないコードに比べて少ない記述量で書くことができる。
また、コードの読み手としても、変数展開の方が余計な記述が無い分、すんなりと文字列の内容が頭に入ってくるような気がする。
- コードの記述が楽になる
- コードの可読性が上がる
関連記事
https://www.javadrive.jp/php/string/index5.html
https://www.php.net/manual/ja/language.types.string.php
文字列中に変数を埋め込むことができる機能