在 php 中引用常量:“这是 MY_CONSTANT”
题
我想在 PHP 中使用常量,但我也想将它像变量一样放在双引号内。这是可能吗?
define("TESTER", "World!");
echo "Hello, TESTER";
显然输出“你好,测试者”,但我真正想要的是这样的:
$tester = "World!";
echo "Hello, $tester";
输出“你好,世界!”。
解决方案
对不起,这不是常量在PHP中的工作方式。你可以把变量在双引号和here文档而不是常量。
其他提示
我建议您使用串联,因为:
- 当您在双引号字符串中使用变量时,您的可见性不好;
- 当你使用双引号字符串时,php 处理速度会很慢;
- 您不会在字符串中使用常量,因为没有任何分隔符让 php 知道常量是什么。
级联是要走的途径。
除非你想要的做作,讨厌的,低效的,邪恶的猴子的方式:
echo preg_replace("/TESTER/",TESTER,$original_content);
没办法,除非你自己写的字符串解析功能
我发现,当一个恒定的点串联是一个问题,使用的sprintf让我的字符串是通常我想要的到底是要走的路。
可替换地,做
"this is " . MY_CONSTANT
或
"this is " . constant("MY_CONSTANT");
不隶属于 StackOverflow