<?php // 定数を宣言 define('TEST_MESSAGE', 100); // 定数を出力するためのクロージャ $constant = function($c){ return $c; }; echo "{$constant(TEST_MESSAGE)}";
こちらを試してみましたが、シングルクォーテーションにただ置換しただけではできないようです。
シングルクォーテーションをつけないと、つけろと言う文章+下記の文章のエラーが出力され、
Use of undefined constant
(this will throw an Error in a future version of PHP)
とエラーが出てしまいます。
上記のように記述しても、
定数が文字として出力されてしまいます。
ockeghem
ありがとうございます。
php version 7.3.2です。
提示のコードにはダブルクォーテーションしかありませんが。
define('TEST_MESSAGE', "テスト");
echo TEST_MESSAGE;
「定義」できてます。
PHPのバージョンを追記ください
>define(TEST_MESSAGE, "テスト");
これでは最初の行でWarningです。
コードはコピペで提示してくださいね。
あぁ、出るエラーとは一致するか。
https://3v4l.org/ に示されたコードを貼り付けて動作しているようだから、質問の意図がわからない。シングルクォーテーション内で展開って、PHPの文字列型の仕様に対して反しているから無理じゃないかと思うし。 https://www.php.net/manual/ja/language.types.string.php
どんどん質問のコードを補足もなく変えていって回答者を振り回してどういうつもりなのでしょう。
回答2件
あなたの回答
tips
プレビュー