타입 변환

유영·2023년 3월 2일
0

PHP

목록 보기
6/57

자동 타입 변환(type juggling)

PHP에서는 변수를 선언할 때 타입을 명시할 필요가 없습니다.
왜냐하면, PHP에서 변수의 타입은 해당 변수에 대입하는 값에 따라 자동으로 결정되기 때문입니다.
이렇게 타입이 상황에 따라 자동으로 변환되는 것을 자동 타입 변환(type juggling)이라고 합니다.

따라서 PHP의 타입 강도(type strength)는 매우 약하며, 타입이 동적으로 결정됩니다.

$var = "문자열"; // string

$var = 10;       // int

$var = 3.14;     // float

강제 타입 변환(type casting)

PHP에서는 변수에 값을 대입할 때마다 변수의 타입이 그것에 맞게 변하게 됩니다.
하지만 사용자가 직접 데이터의 타입을 변환해야 할 경우도 많습니다.
PHP에서는 이러한 강제 타입 변환을 타입 캐스트 연산자인 괄호(())를 사용하여 수행할 수 있습니다.
변환시키고자 하는 데이터나 변수의 앞에 괄호를 붙이고, 그 괄호 안에 변환할 타입을 적으면 됩니다.

$var_01 = 10;
	var_dump($var_01);				// int(10)

	echo "<br>";
	$var_02 = (boolean) $var_01;
	var_dump($var_02);				// bool(true)

	echo "<br><br>";
	$var_03 = 0;
	var_dump($var_03);				// int(0)

	echo "<br>";
	$var_04 = (boolean) $var_03;
	var_dump($var_04);				// bool(false)

가변 변수(variable variables)

PHP에서는 변수의 타입뿐만 아니라 변수의 이름까지 동적으로 바꿀 수 있습니다.
이러한 변수를 가변 변수(variable variables)라고 하며, 해당 변수의 값을 또 다른 변수의 이름으로 취급합니다.

$PHP = "HTML";
$HTML = "CSS";
$CSS = "JavaScript";
$JavaScript = "Ajax";
$Ajax = "PHP";  


echo $PHP;       // HTML
echo $$PHP;      // $HTML -> CSS
echo $$$PHP;     // $$HTML -> $CSS -> JavaScript
echo $$$$PHP;    // $$$HTML -> $$CSS -> $JavaScript -> Ajax
echo $$$$$PHP;   // $$$$HTML -> $$$CSS -> $$JavaScript -> $Ajax -> PHP
echo $$$$$$PHP;  // $$$$$HTML -> $$$$CSS -> $$$JavaScript -> $$Ajax -> $PHP -> HTML
echo $$$$$$$PHP; // $$$$$$HTML -> $$$$$CSS -> $$$$JavaScript -> $$$Ajax -> $$PHP -> $HTML -> CSS

달러($) 기호를 사용하여 변수의 이름을 유동적으로 설정하거나 사용할 수 있습니다.

참조
http://www.tcpschool.com/php/php_basic_typeJuggling

0개의 댓글