다음 코드의 출력 결과는?

과목: PHP

문제 번호: 2716

easy
다음 코드의 출력 결과는?
<?php
$x = 10;  // 전역 변수

function test() {
    $x = 20;  // 지역 변수
    echo $x;
}

test();
?>
A. 10
B. 20
C. 1020
D. 오류 발생

정답: B



함수 내부의 지역 변수는 전역 변수와 독립적이며, 함수 내에서는 지역 변수가 우선됩니다.

실행 과정:
1. $x = 10 → 전역 변수 x에 10 할당
2. 함수 test() 호출
3. $x = 20 → 지역 변수 x에 20 할당
4. echo $x → 지역 변수 x 출력
5. 결과: 20

중요 개념:
⦁ 전역 변수와 지역 변수는 이름이 같아도 별개
⦁ 함수 내부에서는 지역 변수 우선
⦁ 전역 변수는 함수 내에서 직접 접근 불가

예시:
$name = "Global";     // 전역

function showName() {
    $name = "Local";  // 지역
    echo $name;       // "Local" 출력
}

💡 학습 팁

이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.