はじめに
PHPでは、ダブルクォーテーションで囲まれた文字列の中で変数の値を展開することができる。
$name = "Jon";
print("Hello $name");
// または中括弧で囲むのもOK
print("Hello {$name}");
■ 実行結果
Hello Jon
しかし、$
から始まらない定数や関数などは文字列の中で展開できないため、次のようなコードは正しく動作しない。
define('NAME', 'JON');
print("Hello {NAME}");
■ 実行結果
Hello {NAME}
スポンサーリンク
定数を文字列の中に展開するには?
要は、$
から始まればいいので、次のように、渡された値を返す関数を変数に入れ、引数に定数を渡すようにすれば、定数も文字列の中で展開できる。
define('NAME', 'JON');
$x = fn($x) => $x;
print("Hello {$x(NAME)}");
■ 実行結果
Hello JON
まとめ
文字列の中に定数を展開する方法を紹介した。
変数展開は文字列連結をシンプルにするので、定数でも使っていきたい。
0 件のコメント:
コメントを投稿