PHP

09. PHP 타입변환

drizzle0925 2021. 2. 28. 14:18
728x90

자동 타입 변환(type juggling)

PHP는 변수를 선언할 때 타입을 명시할 필요가 없다.

변수에 대입하는 값에 따라 자동으로 변수의 타입이 정해진다.

이렇게 타입이 자동으로 변환되는 것을 자동 타입 변환(type juggling)이라고 한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$str = "문자열";
$int = 1;
$float = 2.1;
$array = array();
 
var_dump($str);
echo "<br>";
var_dump($int);
echo "<br>";
var_dump($float);
echo "<br>";
var_dump($array);
?>
cs

var_dump 함수

www.php.net/manual/ja/function.var-dump

var_dump - 변수에 대한 정보를 덤프한다. 

덤프(dump)는 "어떤 장애가 발생했을 때, 프로그램의 오류 수정이나 데이터의 검사(디버그)를 위해 그 상태(기억된 내용의 일부 또는 전부)를 행 인쇄기 같은 출력 장치에 표시, 출력(copy) 하기 위한 컴퓨터 주기억장치와 레지스터, 데이터나 프로그램 등 디지털 계산기에 존재 및 지정된 메모리 영역이다. 그렇게 기억 장치나 파일 내용의 전체 또는 일부 자료에 기억시킨 내용을 보조기억장치 등 기록 매체에 복사, 전이하는 조작"이다.


 

강제 타입 변화(type casting)

PHP에서는 변수에 값을 대입할 때 변수의 타입이 자동으로 지정된다.

하지만 사용자가 직접 변수의 타입을 정해줘야 할 경우도 존재한다.

이런 경우 타입 캐스트 연산자인 괄호()를 사용하여 타입을 지정해 줄 수 있다.

변환시키고자 하는 데이터나 변수 앞에 괄호()를 붙이고 괄호 안에 변환시킬 타입을 지정해 준다.

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$int = 1;
var_dump($int);
echo "<br>";
 
$str = (string)$int;
var_dump($str);
echo "<br>";
 
$float = (float)$int;
var_dump($float);
?>
cs

 

settype - 변수의 타입을 지정한다.

www.php.net/manual/ja/function.settype

타입의 명령은

"bloolean" 또는 "bool"

"integer" 또는 "int"

"float" 또는 "double"

"string"

"array"

"object"

"null"

 

1
2
3
4
5
6
7
8
9
10
<?php
$foo = "5bar"// string
$bar = true;   // boolean
 
settype($foo"integer"); // $foo는 5이다 (정수)
echo $foo;
echo "<br>";
settype($bar"string");  // $bar는 "1"이다 (문자열)
echo $bar;
?>
cs


가변 변수(variable variables)

PHP는 변수의 타입뿐만 아니라 변수의 이름도 동적으로 바꿀 수 있다.

이러한 변수를 가변 변수라 말한다.

1
2
3
4
5
6
7
8
<?php
$str1 = "str2";
$str2 = "str3";
 
echo $str1;
echo "<br>";
echo $$str1;
?>
cs

 

$기호를 이용하여 변수의 이름을 유동적으로 변경하거나 사용할 수 있다.

728x90

'PHP' 카테고리의 다른 글

11. PHP 대입연산자  (0) 2021.02.28
10. PHP 산술연산자  (0) 2021.02.28
08. PHP 기본타입  (0) 2021.02.27
07. PHP 상수  (0) 2021.02.27
06. PHP 변수의 종류  (0) 2021.02.27