본문 바로가기

A.P.M Tip

[PHP] php 형변환

<== 시간 나시면 공지사항 한번 읽어 주세요.

C에서는 변수를 사용하기 전에 미리 선언을 했어야 했다(어떤 형태의 변수인지). 하지만 PHP에서는 미리 변수선언을 할 필요가 없다(변수의 타입을 미리 지정하지 않는다.)  PHP가 실행중에 자동으로 변수에 들어오는 값에 따라 변수타입을 바꿔준다. 다시 말해 변수가 사용된 컨텍스트에 따라 자동으로 결정된다. 강제로라도 특정한 변수 타입으로 지정하고 싶다면 강제 형변환이나 settype() 함수를 사용할 수도 있지만 대부분의 경우 그냥 사용하는 것이 훨씬 편하다고 느낄 것이다. 필요에 따라서 다음과 같이 변수를 형변환(cast)할 수 있다.


(int),(integer) - integer 형으로 cast
(real),)(double).(float) - double형으로 cast
(string) - string으로 cast
(array) - array로 cast
(object) - 객체로 cast

사용 예
$a = (int) $b;
$a = ( int ) $b;

실제로 탭과 공백은 무시되기 때문에 뒤의 두 문장은 같다. 변수는 앞에 $가 붙는다고 했다. 따로 변수를 선언할 필요도 없으므로 '$a =1;' 이라고 적는 것과 같은 방식으로 바로 사용할 수 있다. 변수의 형태는 정수형, 실수형, 문자열, 배열, 객체가 있으며 어떤 형으로 사용되고 있는지는 다음의 함수들을 통해 변수 타입을 알아 낼 수 있다.

gettype() : 변수 타입을 알아낸다
is_long() : 변수가 long형일 때 참값 (1)을 반환한다.
is_double(): 변수가 double형일 때 참값(1)을 반환한다.
is_string() : 변수가 string형일 때 1반환
is_array() : 변수가 array형일 때 1반화

각각의 용도는 함수 이름을 통해서도 쉽게 알 수 있을 것이다. 다음과 같이 변수 a의 변수 타입을 알고자 했을때 gettype 함수는 a가 문자열 (string)이라고 알려줄 것이다.

<?php
   $a = "hahahaha";
   $b = gettype($a);

echo ("Type of 'a' is : ");
echo ($b);
?>

결과 값 type of 'a' is : string

'A.P.M Tip' 카테고리의 다른 글

[PHP]양력음력변환  (0) 2012.05.24
[PHP] php abs 함수  (0) 2012.04.27
[PHP] php 일차원 배열  (0) 2012.02.21
[PHP] php 문자열 변환  (0) 2012.02.21
[PHP] php 정수형,실수형,문자열  (0) 2012.02.20