$x = 10; // 글로벌 변수

function showGlobal() {
    global $x;
    echo $x; // 출력: 10
}

showGlobal();
echo $x; // 출력: 10
function showLocal() {
    $y = 20; // 로컬 변수
    echo $y; // 출력: 20
}

showLocal();
// echo $y; // 오류: 함수 밖에서는 접근 불가
$a = 10; // 글로벌 변수

function test() {
    // 함수 외부에서 선언된 글로벌 변수를 사용
    global $a; // global 키워드와 함께 사용
    echo $a; // 출력: 10
}

test();
function setGlobal() {
    global $y; // 함수 내부에서 글로벌 변수 선언
    $y = 100; // 글로벌 함수에 값을 할당
}

setGlobal();
echo $y; // 출력: 100
function setGlobal() {
    global $y = 100; // 오류: PHP에서는 global 선언과 값 할당을 동시에 할 수 없습니다.
    // global은 변수와 글로벌 영역을 연결하는 역할만 합니다.
    // 값 할당은 반드시 별도로 해야 합니다.
}
function current() {
    echo $_SERVER['PHP_SELF']; // 현재 스크립트 경로 출력
}

current();
function showLocal() {
    $a = 30; // 로컬 변수
    echo $a; // 출력: 30
}

showLocal();

// echo $a; // ❌ 오류: 함수 밖에서는 접근 불가
$c = 100; // 글로벌 변수

function testScope() {
    $c = 200; // 함수 내부 로컬 변수
    echo $c; // 출력: 200 (로컬 변수 사용)
}

testScope();
echo $c; // 출력: 100 (글로벌 변수는 그대로)