PHP에서 변수의 범위(scope)는 변수가 유효한 범위를 나타냅니다. 변수의 범위에는 전역 범위(global scope)와 지역 범위(local scope)가 있습니다. 변수의 범위를 이해하는 것은 코드의 작동 방식을 이해하는 데 중요합니다.
1. 전역 범위(Global Scope)
전역 범위는 스크립트 전체에서 접근할 수 있는 범위입니다. 즉, 함수 내부에서 선언되지 않은 변수는 전역 변수입니다.
$global_variable = "I am global";
function my_function() {
echo $global_variable; // "I am global" 출력
}
my_function();
2. 지역 범위(Local Scope)
지역 범위는 특정 블록이나 함수 내에서만 접근할 수 있는 범위입니다. 함수 내에서 선언된 변수는 해당 함수 내에서만 유효합니다.
function my_function() {
$local_variable = "I am local";
echo $local_variable; // "I am local" 출력
}
my_function();
echo $local_variable; // 오류: 변수가 정의되지 않았습니다.
3. 변수의 범위와 함수
함수 내에서 선언된 변수는 해당 함수 내에서만 유효합니다. 함수 외부에서 선언된 변수는 함수 내에서 접근할 수 없습니다.
$global_variable = "I am global";
function my_function() {
$local_variable = "I am local";
echo $global_variable; // "I am global" 출력
echo $local_variable; // "I am local" 출력
}
my_function();
echo $global_variable; // "I am global" 출력
echo $local_variable; // 오류: 변수가 정의되지 않았습니다.
4. 전역 변수와 지역 변수 이름이 같을 때
전역 범위와 지역 범위에 같은 이름의 변수가 있을 경우, 함수 내에서 변수를 참조할 때는 가까운 범위의 변수가 우선합니다. 그러나 함수 내에서 변수를 수정하려고 할 때는 함수 내부의 변수만 수정됩니다. 전역 변수를 수정하려면 global 키워드를 사용해야 합니다.
$variable = "Global";
function my_function() {
$variable = "Local";
echo $variable; // "Local" 출력
}
my_function();
echo $variable; // "Global" 출력
5. 전역 범위 변수 수정
함수 내에서 전역 범위의 변수를 수정하려면 global 키워드를 사용하여 해당 변수를 전역 변수로 선언해야 합니다.
$global_variable = "Global";
function modify_global_variable() {
global $global_variable;
$global_variable = "Modified global";
}
modify_global_variable();
echo $global_variable; // "Modified global" 출력
변수의 범위를 이해하는 것은 PHP 코드를 작성하고 디버깅하는 데 매우 중요합니다. 변수의 범위를 올바르게 사용하면 코드를 더욱 효율적으로 작성할 수 있습니다.
With ChatGPT
'PHP > 포스팅' 카테고리의 다른 글
[PHP] 데이터 타입 (0) | 2024.04.15 |
---|---|
[PHP] 상수 (0) | 2024.04.15 |
[PHP] 변수 (0) | 2024.04.15 |
[PHP] 식별자와 식별자 관례 (0) | 2024.04.15 |
[PHP] 키워드 (0) | 2024.04.14 |