[PHP] 文字列の中に定数を埋め込むシンプルな方法

2022年8月21日日曜日

PHP

t f B! P L

はじめに

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

まとめ

文字列の中に定数を展開する方法を紹介した。

変数展開は文字列連結をシンプルにするので、定数でも使っていきたい。

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ