2009-04-06 3 views
0

어떻게 변수를 포함시켜 문자열에 포함시킬 수 있습니까?헤더 위치 변수

header("Location: http://www." . "$_SESSION['domainname']"); 

위의 코드는 작동하지 않습니다.

답변

4

코드가 작동하지 않는 이유는 PHP가 문자열 내부의 인덱싱 된 배열을 처리하기 때문입니다. 당신은 없었다 :

"$_SESSION['domainname']" 

하지만 PHP는보고 싶어했다 :

"$_SESSION[domainname]" 

없음 따옴표이 시간을. 문자열 내에서 직접 변수를 참조하는 경우에는 작은 따옴표 만 생략하십시오.

주, 간단한 배열 ("$a[x]")하지만 당신은 중괄호 ({$x}, {$a['x']['y']}을 사용하지 않는 배열 ("$a[x][y]")의 배열로 작업 할 수 있습니다 이와 같은 해당 문자열 보간,, 곱슬 braces--에 작은 따옴표를주의 그들은 PHP의 일반적인 문자열 보간과 정확히 같지 않지만 PHP의 다른 곳에서 변수를 참조하는 것과 같습니다.)

+0

그래서 대괄호 안의 작은 따옴표를 제거하면 상수로 해석되지 않습니까? – Codex73

+0

작동 방식 : header ("위치 : http : //www.$_SESSION [domainname]"); – Codex73

+0

아니요. 문자열 내부의 배열 인덱스를 참조하는 동안에는 상수로 해석하지 않습니다. 문자열 밖에서 domainname은 상수라고 가정합니다. – Peter