2009-10-14 3 views
16

Я хочу использовать константу в php, но я также хочу поместить ее в двойные кавычки, как переменную. Это вообще возможно?цитаты констант в php: «это MY_CONSTANT»

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

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

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

Выходы.

+1

[вот подсказка о другом интересном способе расширить Константы в PHP Heredoc нотации] (Http: //www.php. net/manual/en/function.define.php # 100449) –

ответ

14

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

+1

Константы не работают таким образом. Но должно быть решение для этого ........ – Bik

1

никоим образом, если вы не писать свои собственные строки синтаксического анализа функции

1

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

5

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

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

4. Легче помещать HTML в строки, потому что вам не нужно избегать двойных кавычек. (Я знаю, что вы можете использовать значения атрибутов одиночной кавычки, но OCD во мне это ненавидит!) – DisgruntledGoat

+1

1. Зависит от подсветки синтаксиса. 2. В некоторых средах и версиях верно противоположное (в 6, по слухам, так же быстро и быстро). 3. Действует. –

+0

1. Видимость только плохая, если вы используете очень простой текстовый редактор. Лично я считаю, что избыточный синтаксис приводит к плохой видимости. 2. Возможно, более медленный шаг синтаксиса в некоторых версиях, такая же скорость выполнения. – Matthew

3

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^