다음 코드에서 를 사용하는 이유는 무엇인가요?

과목: PHP

문제 번호: 2855

medium
다음 코드에서 unset($x) 를 사용하는 이유는 무엇인가요?
$colors = ["빨강", "파랑", "초록"];
foreach ($colors as &$x) {
    $x = "검정";
}
unset($x);
A. 메모리를 절약하기 위해
B. 배열을 초기화하기 위해
C. 참조 연결을 해제하기 위해
D. 반복문을 종료하기 위해

정답: C



unset($x)는 변수와 배열의 마지막 요소 간의 참조 연결을 끊습니다

⦁ 참조 연결 문제:
• foreach 종료 후에도 $x는 마지막 배열 요소를 참조
$x 값 변경 시 배열의 마지막 요소도 함께 변경됨
• 예상치 못한 부작용 발생 가능

⦁ unset() 생략 시 위험:
// unset() 없이 사용하면
$x = "다른값"; // 배열 마지막 요소도 "다른값"으로 변경됨

⦁ 참조를 사용한 foreach 후에는 항상 unset()을 사용하는 것이 안전한 관례입니다

💡 학습 팁

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