php
PHP - 지역변수
지역변수는 그 변수가 선언된 곳에서만 사용할 수 있습니다.
함수나 클레스 안에 선언된 변수가 있다면, 그 함수 안에서만 사용가능하지 함수 밖에서는 사용할 수 없는 것을 지역변수라 부릅니다. 반대로 함수 밖에서 선언된 변수를 함수나 클레스 안에서 사용할 수 없습니다.
지역변수는 사용이 한정되어 있지만 함수 밖에 선언된 변수를 함수 안에서 사용하고자 한다면 자동 전역변수 $GLOBALS 나 global 를 정의해 주면 됩니다.
$GLOBALS에는 사용자 변수 뿐 아니라 슈퍼전역변수(미리 선언된 변수)도 저장되어 있습니다.
함수나 클레스 안에 선언된 변수가 있다면, 그 함수 안에서만 사용가능하지 함수 밖에서는 사용할 수 없는 것을 지역변수라 부릅니다. 반대로 함수 밖에서 선언된 변수를 함수나 클레스 안에서 사용할 수 없습니다.
<?php
function test() {
$foo = "local variable";
echo '$foo in global scope: ' . $var . "\n";
echo '$foo in current scope: ' . $foo . "\n";
}
$var = "Example content";
test();
/*
결과
$foo in global scope:
$foo in current scope: local variable
*/
?>
지역변수는 사용이 한정되어 있지만 함수 밖에 선언된 변수를 함수 안에서 사용하고자 한다면 자동 전역변수 $GLOBALS 나 global 를 정의해 주면 됩니다.
<?php
function test() {
global $arg;
echo '$foo in global scope: ' . $GLOBALS['var'] . "\n";
echo '$foo in current scope: ' . $arg . "\n";
}
$var = "Example content";
$arg = "local variable";
test();
/*
결과
$foo in global scope: Example content
$foo in current scope: local variable
*/
?>
$GLOBALS에는 사용자 변수 뿐 아니라 슈퍼전역변수(미리 선언된 변수)도 저장되어 있습니다.
슈퍼 전역변수 |
---|
$HTTP_*_VARS; |
$_SERVER |
$_GET |
$_POST |
$_FILES |
$_COOKIE |
$_COOKIE |
$_REQUEST |
$_ENV |
<?php
echo $GLOBALS['_SERVER']['HTTP_ACCEPT_LANGUAGE']; // 결과: ko
echo $GLOBALS['_SERVER']['HTTP_HOST']; // 결과: 127.0.0.1
echo $GLOBALS['_SERVER']['PHP_SELF']; // 결과: test.php
?>
0 댓글