PHP 변수 범위
PHP에서 변수는 스크립트의 어느 곳에서나 선언될 수 있습니다.
변수의 범위는 변수를 참조/사용할 수 있는 스크립트의 일부입니다.
PHP에는 세 가지 변수 범위가 있습니다.
- local
- global
- static
Global and Local 범위
함수 외부에서 선언된 변수는 전역(GLOBAL)범위를 가지며 함수 외부에서만 액세스할 수 있습니다.
Example
전역범위 변수:
<?php
$x = 5; // global scope
function myTest() {
// using x inside this function will generate an error
echo "<p>Variable x inside function is: $x</p>";
}
myTest();
echo "<p>Variable x outside function is: $x</p>";
?>
Try it Yourself »함수 내에서 선언된 변수는 LOCAL SCOPE를 가지며 해당 함수 내에서만 액세스할 수 있습니다.
Example
Variable with local scope:
<?php
function myTest() {
$x = 5; // local scope
echo "<p>Variable x inside function is: $x</p>";
}
myTest();
// using x outside the function will generate an error
echo "<p>Variable x outside function is: $x</p>";
?>
Try it Yourself »지역 변수는 선언된 함수에서만 인식되기 때문에 다른 함수에서 같은 이름을 가진 지역 변수를 가질 수 있습니다.
PHP global 선언
global 키워드는 함수 내에서 전역 변수에 액세스하는 데 사용됩니다.
이렇게 하려면 변수 앞에 global 키워드를 사용합니다(함수 내부).
Example
<?php
$x = 5;
$y = 10;
function myTest() {
global $x, $y;
$y = $x + $y;
}
myTest();
echo $y; // outputs 15
?>
Try it Yourself »PHP는 또한 모든 전역 변수를 $GLOBALS[index]라는 배열에 저장합니다.
index
는 변수의 이름을 보유합니다. 이 배열은 함수 내에서도 액세스할 수 있으며 전역 변수를 직접 업데이트하는 데 사용할 수 있습니다.
위의 예는 다음과 같이 다시 작성할 수 있습니다.
Example
<?php
$x = 5;
$y = 10;
function myTest() {
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}
myTest();
echo $y; // outputs 15
?>
Try it Yourself »PHP static 선언
일반적으로 함수가 완료/실행되면 모든 변수가 삭제됩니다. 그러나 때때로 우리는 지역 변수가 삭제되지 않기를 원합니다. 추가 작업을 위해 필요합니다.
이렇게 하려면 변수를 처음 선언할 때 static 키워드를 사용하세요.
Example
<?php
function myTest() {
static $x = 0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
Try it Yourself »그런 다음 함수가 호출될 때마다 해당 변수에는 마지막으로 함수가 호출된 시점부터 포함된 정보가 계속 유지됩니다.
Note: 변수는 여전히 함수에 대해 로컬입니다.

- 22-04-11
- 147 회
- 0 건