728x90
반응형
📌 PHP 변수의 유효범위(Scope)와 static 키워드
PHP에서 변수의 유효범위(Scope)는 해당 변수를 사용할 수 있는 코드의 영역을 의미합니다. 변수의 범위를 명확히 이해하면 코드 오류를 방지하고 함수 내부/외부에서의 데이터 흐름을 잘 제어할 수 있습니다.
🔷 변수의 주요 유효범위
- Global (전역): 함수 외부에서 선언된 변수
- Local (지역): 함수 내부에서 선언된 변수
- Static: 함수 내에서 선언되지만 호출 간 값을 유지
✔️ 전역 변수 (Global)
<?php
$a = 10;
function test() {
echo $a; // 오류 발생: 함수 내부에서 외부 변수 접근 불가
}
test();
?>
전역 변수는 함수 내에서 직접 사용할 수 없습니다. global
키워드를 사용해야 합니다.
<?php
$a = 10;
function test() {
global $a;
echo $a; // 출력: 10
}
test();
?>
✔️ 지역 변수 (Local)
<?php
function localTest() {
$msg = "Hello";
echo $msg;
}
localTest();
echo $msg; // 오류 발생: 함수 밖에서는 $msg 접근 불가
?>
지역 변수는 함수 내부에서만 유효합니다.
🔷 static 키워드
함수가 여러 번 호출될 때, 지역 변수는 기본적으로 초기화됩니다. static
키워드를 사용하면 이전 값을 유지할 수 있습니다.
<?php
function counter() {
static $count = 0;
$count++;
echo $count . "<br>";
}
counter(); // 1
counter(); // 2
counter(); // 3
?>
static 변수는 함수가 끝나더라도 값이 초기화되지 않고 유지됩니다.
🔷 슈퍼 전역 변수 (Superglobals)
PHP에는 모든 범위에서 접근 가능한 슈퍼 전역 변수가 존재합니다.
$_GET
,$_POST
: 폼 데이터 수신$_SESSION
,$_COOKIE
: 사용자 상태 관리$_SERVER
,$_FILES
: 서버 정보 및 파일
✅ 요약
- Global: 함수 외부 변수, 함수 내에서 사용 시
global
필요 - Local: 함수 내부 변수, 함수 외부에서는 접근 불가
- static: 함수 내 변수 값 유지
- Superglobals: 전역적으로 사용 가능한 내장 배열
📚 전체 글
728x90
반응형
'PHP > PHP 문법 & 기본기 정리' 카테고리의 다른 글
PHP 조건문과 반복문 정리 (0) | 2025.04.20 |
---|---|
PHP 함수 정의와 사용법 (0) | 2025.04.19 |
PHP 배열의 종류와 활용법 (0) | 2025.04.18 |
PHP 함수 사용법과 사용자 정의 함수 정리 (0) | 2025.04.17 |
[PHP 문법 정리] 조건문 & 반복문 한눈에 보기 (0) | 2025.04.17 |