다음 코드의 최종 출력은?

과목: PHP

문제 번호: 2729

hard
다음 코드의 최종 출력은?
<?php
$x = 5;          // 1번
$x = "Hello";    // 2번
$x = (string) 5; // 3번
var_dump($x);
?>
A. int(5)
B. string(5) "Hello"
C. string(1) "5"
D. int(5) "5"

정답: C



PHP는 동적 타입 언어이며, 캐스팅을 통해 타입을 명시적으로 변환할 수 있습니다.

실행 과정 분석:

1. $x = 5
⦁ Integer 타입으로 5 저장

2. $x = "Hello"
⦁ String 타입으로 변경
⦁ 값도 "Hello"로 변경

3. $x = (string) 5
⦁ 정수 5를 문자열로 캐스팅
⦁ 결과: 문자열 "5"
⦁ string(1) → 1글자 문자열

타입 변환 방법:

자동 변환:
$x = 5;       // int
$x = "text";  // string으로 자동 변경

명시적 캐스팅:
$num = 5;
$str = (string) $num;  // "5"
$int = (int) "10";     // 10
$bool = (bool) 1;      // true

캐스팅 종류:
(int) 또는 (integer)
(string)
(float) 또는 (double)
(bool) 또는 (boolean)
(array)
(object)

💡 학습 팁

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