다음 코드의 실행 결과는 무엇인가요?
다음 코드의 실행 결과는 무엇인가요?
$colors = array("red", "green", "blue");
foreach ($colors as &$color) {
if ($color == "green") {
$color = "yellow";
}
}
print_r($colors);
정답: B
⦁
&
기호는 참조(reference)를 의미하여 원본 배열을 직접 수정합니다⦁ 참조 foreach 구조:
foreach (배열 as &변수) { 코드 }
⦁ 실행 과정:
•
$color = "red"
: 조건 불만족, 변경 없음•
$color = "green"
: 조건 만족 → "yellow"로 변경•
$color = "blue"
: 조건 불만족, 변경 없음⦁ 참조와 일반 변수 차이:
• 일반:
foreach ($colors as $color)
→ 복사본 수정, 원본 유지• 참조:
foreach ($colors as &$color)
→ 원본 직접 수정⦁ 주의사항:
• 참조 사용 시 원본 배열이 변경됨
• 의도하지 않은 수정을 방지하려면 일반 변수 사용
💡 학습 팁
이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.