先輩、PHPで
分からない
事があるんですけど。
おぉ、
どうした?
なんで
上と下で
結果が
違うんですか?
なるほど
なるほど
$hello = "こんにちは";
echo "挨拶は {$hello} です。";
// 挨拶は こんにちは です。
define('HELLO', 'こんにちは');
echo "挨拶は {HELLO} です。";
// 挨拶は {HELLO} です。
PHPだと文字列リテラルの
中に展開できるのは
変数だけなんだ。
下は定数だからそのまま
{HELLO}が
出力されるんだよ。
$hello = "こんにちは";
echo "挨拶は {$hello} です。";
// 挨拶は こんにちは です。
define('HELLO', 'こんにちは');
echo "挨拶は {HELLO} です。";
// 挨拶は {HELLO} です。
へー
どうしても定数を
使いたい場合は、
こんな風に書けば良いよ。
define('HELLO', 'こんにちは');
// こういうのを用意しておく
$_ = function(string $str):string
{
return $str;
};
echo "挨拶は {$_(HELLO)} です。";
// 挨拶は こんにちは です。
なるほど
遅くなる原因だから
俺は書かないけど。
by Nankoma運営
コメント
コメント