자동 타입 변환(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
덤프(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 |
$기호를 이용하여 변수의 이름을 유동적으로 변경하거나 사용할 수 있다.
'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 |