заключение в кавычки констант в php: “это - MY_CONSTANT”

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

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

очевидно, выводы "Привет, ТЕСТЕР", но что я действительно хочу, являются чем-то как:

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

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

19
задан Brian Tompsett - 汤莱恩 2 September 2019 в 20:32
поделиться

5 ответов

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

16
ответ дан 30 November 2019 в 04:20
поделиться

Конкатенация - это правильный путь.

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

echo preg_replace("/TESTER/",TESTER,$original_content);
4
ответ дан 30 November 2019 в 04:20
поделиться

ни в коем случае,

1
ответ дан 30 November 2019 в 04:20
поделиться

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

1
ответ дан 30 November 2019 в 04:20
поделиться

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

  1. Когда вы используете переменную в строке с двойными кавычками, ваша видимость плохая;
  2. Когда вы используете строку с двойными кавычками, php может для медленной обработки;
  3. Вы не используете константу в строке, потому что у вас нет разделителя, php знает, что это за константа.
5
ответ дан 30 November 2019 в 04:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: