PHP/포스팅

[PHP] 변수 범위

짜집퍼박사(짜박) 2024. 4. 15. 00:36

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