2011-04-29
PHP에서는 미리 정의된 변수들이 있다. 필자가 자주 쓰는 $_SERVER['HTTP_REFERER'] 같은 해당 사이트가 어떤 링크로 들어왔는지가 들어 있는 변수 같은것들은 PHP에 미리 정의되어 있는 것들이다.
그래서 이 변수들은 애초에 전역변수(global) 이다.

PHP메뉴얼의 한부분을 빌리자면
이는 '자동전역' 변수입니다. 스크립트의 모든 영역에서 사용할 수 있습니다. 함수나 메쏘드 안에서 접근하기 위해서 global $variable;를 할 필요가 없습니다.
위의 사항을 염두해 두고 쓰기 바란다. 한마디로 '어디서든지 선언없이 쓰면될 것이다' 라는 것이다.
아래는 좀더 자세한 메뉴얼이 나와 있는곳의 주소이다.

http://www.php.net/manual/kr/language.variables.superglobals.php

해당 메뉴얼로 들어가면 미리 정의된 변수들을 볼수 있을것이다.

따로 정리를 해두려고 했는데..
$_FILES 나 $_SERVER, $_POST 정도만 주로 쓰던 필자는.. 이렇게 많을줄 몰랐고, 결과적으로 너무 오래 거릴꺼 같아서 메뉴얼만.. 링크 해둔다.ㅡ/.ㅡ;

//------------추가 2012.03.02
모든 전역번수를 보는 법
echo "<pre>";
print_r($GLOBALS);
echo "</pre>";
라는 소스를 추가 시켜 보면 된다.

//-----------추가 2014.03.18
함수중에 get_defined_vars()라는함수가 있다. 이함수는 전역변수 뿐만 아니라 정의된 모든 변수를 다 알 수 있게 해준다.
$tarr = get_defined_vars();
print_r($tarr);
위와 같은 방식으로 사용하면 된다.

링크 : http://php.net/manual/kr/function.get-defined-vars.php