2009-10-14 4 views
16

PHP에서 상수를 사용하고 싶지만, 변수처럼 큰 따옴표 안에 넣고 싶습니다. 가능한가요?PHP에서 상수를 인용하고 있습니다 : "This is MY_CONSTANT"

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

은 분명히 "안녕하세요, TESTER"출력,하지만 내가 정말 원하는 것은 같은 것입니다 : "안녕하세요, 세계"

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

으로 출력한다을. 당신이 당신의 자신의 문자열 구문 분석 기능

+1

을 (HTTP를 [여기 PHP는 히어 닥 표기법 상수를 확장하는 또 다른 흥미로운 방법에 대한 단서]. net/manual/en/function.define.php # 100449) –

답변

14

죄송 쓰기하지 않는 한

+1

상수는 이런 식으로 작동하지 않습니다. 그러나 이것에 대한 해결책이 있어야합니다 ........ – Bik

1

방법은, 그 PHP 작업의 방법 상수 아니다. 변수를 큰 따옴표와 heredoc에 넣을 수는 있지만 상수는 넣을 수 없습니다.

1

상수의 도트 연결이 문제가되면 sprintf를 사용하여 문자열을 얻는 것이 일반적으로 끝까지 가고 싶어한다는 것을 발견했습니다.

5

나는 때문에 연결을 사용하도록 권 해드립니다 : 당신이 따옴표 문자열로 변수를 사용하여 가시성이 좋지 않은 경우

  1. ;
  2. 큰 따옴표 문자열을 사용하면 PHP가 천천히 처리 할 수 ​​있습니다.
  3. php에 구분 기호가 없으므로 상수는 문자열에 사용되지 않습니다.
+2

4. 큰 따옴표를 이스케이프하지 않아도되므로 HTML을 문자열에 넣는 것이 더 쉽습니다. (나는 당신이 속성 값을 작은 따옴표로 묶을 수 있다는 것을 알고 있지만 내 안에있는 OCD는 그것을 싫어한다!) – DisgruntledGoat

+1

1. 구문 강조에 의존한다. 2. 일부 환경 및 버전에서는 그 반대가 사실입니다 (6에서와 마찬가지로 빠르게 또는 더 빠른 것으로 소문이났습니다). 3. 유효. –

+0

1. 매우 기본적인 텍스트 편집기를 사용하는 경우 가시성이 떨어집니다. 개인적으로 나는 과도한 구문이 나쁜 시야로 이어진다는 것을 안다. 2. 아마도 일부 버전에서 동일한 구문 실행 속도가 느려질 수 있습니다. – Matthew

3

연결 방법이 있습니다. 당신의 날조, 불쾌한, 비효율적, 사악한 원숭이 방법하고자하지 않는 한

는 : //www.php :

echo preg_replace("/TESTER/",TESTER,$original_content); 
관련 문제