다음 코드의 실행 결과는 무엇인가요?
다음 코드의 실행 결과는 무엇인가요?
$status = "active";
$count = 0;
if ($status == "active")
if ($count > 0)
echo "활성 상태이고 데이터가 있습니다";
else
echo "활성 상태이지만 데이터가 없습니다";
정답: B
⦁ 중괄호가 없는 중첩된 if문에서 else는 가장 가까운 if와 연결됩니다
⦁ 코드 실행 흐름:
1.
$status == "active"
→ 참 → 안쪽 if문 실행2.
$count > 0
→ 0 > 0
→ 거짓3. else 블록 실행 → "활성 상태이지만 데이터가 없습니다"
⦁ 중요한 개념 - Dangling Else 문제:
• else는 문법적으로 가장 가까운 if와 매칭됨
• 중괄호 없이 중첩 시 의도와 다른 결과 가능
⦁ 권장 해결 방법:
if ($status == "active") {
if ($count > 0) {
echo "활성 상태이고 데이터가 있습니다";
} else {
echo "활성 상태이지만 데이터가 없습니다";
}
}
⦁ 항상 중괄호를 사용하면 이런 혼동을 피할 수 있습니다
💡 학습 팁
이 문제를 포함한 PHP 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.