다음 코드의 실행 결과는 무엇인가요?

과목: PHP

문제 번호: 2858

hard
다음 코드의 실행 결과는 무엇인가요?
$data = ["a" => 1, "b" => 2];
$data += ["a" => 10, "c" => 3];
echo $data["a"] . "-" . $data["c"];
A. 1-3
B. 10-3
C. 11-3
D. 오류 발생

정답: A



+= 연산자는 기존 키가 있으면 새 값으로 덮어쓰지 않고 원래 값을 유지합니다

⦁ 병합 과정 분석:
• 초기 배열: ["a" => 1, "b" => 2]
• 추가할 배열: ["a" => 10, "c" => 3]
• "a" 키가 이미 존재하므로 값 1 유지
• "c" 키는 새로운 키이므로 값 3 추가
• 최종 결과: ["a" => 1, "b" => 2, "c" => 3]

+= vs array_merge() 차이:
+=: 기존 키 값 보존
array_merge(): 기존 키 값을 새 값으로 덮어씀

⦁ 올바른 덮어쓰기 방법:
$data = array_merge($data, ["a" => 10, "c" => 3]);
// 결과: ["a" => 10, "b" => 2, "c" => 3]

💡 학습 팁

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