Подтвердить что ты не робот

Цитируя константы в php: "это MY_CONSTANT"

Я хочу использовать константу в PHP, но я также хочу поместить ее в двойные кавычки, как переменную. Это вообще возможно?

define("TESTER", "World!");
echo "Hello, TESTER";

очевидно выдает "Hello, TESTER", но я действительно хочу что-то вроде:

$tester = "World!";
echo "Hello, $tester";

выводит "Привет, мир!"

4b9b3361

Ответ 1

Извините, это не то, как работают константы в PHP. Вы можете поместить переменные в двойные кавычки и heredocs, но не константы.

Ответ 2

Я рекомендую использовать конкатенацию, потому что:

  • Когда вы используете переменную в строку с двойными кавычками, ваша видимость не хороша;
  • Когда вы используете двойную кавычку, php может обрабатывать медленно;
  • Вы не используете константу в строке, потому что не имеете никакого разделителя, чтобы php знал, что такое константа.

Ответ 3

Конкатенация - это путь.

Если вам не нужен хоккей, противный, неэффективный, злой способ обезьяны:

echo preg_replace("/TESTER/",TESTER,$original_content);

Ответ 4

нет, если вы не напишете собственную функцию разбора строк

Ответ 5

Я обнаружил, что когда dot-concatenation константы является проблемой, использование sprintf для получения моей строки обычно является способом, которым я хочу идти в конце.

Ответ 6

Или же сделайте

"this is " . MY_CONSTANT

или

"this is " . constant("MY_CONSTANT");