Php에서 변수 및 데이터의 타입을 확인하는 방법은 무엇일까요?


# gettype() 함수를 사용한 데이터 타입 확인하기

php에서 데이터의 타입을 확인하기 위한 방법으로 gettype() 함수가 존재합니다. 특정 변수의 데이터 타입을 확인하기 위하여 사용할 수 있습니다. 보통 변수의 값을 확인할때 이와 함께 자료 타입과 확인하는 것이 오류를 줄이는데 더 안전합니다. 간단한 사용 방법은 아래와 같습니다

<?php
  // 만약 $test 변수가 존재하는 경우
  gettype($test);
?>

gettype() 함수로 확인 가능한 타입은 아래와 같습니다.
  • boolean
  • integer
  • double (float 타입 역시 double로 반환됨)
  • string
  • object
  • array
  • resource
  • null
  • unknown type

방법은 매우 간단합니다. 그럼 아래의 예제를 통해 어떻게 값이 반환되는지 자세히 알아보도록 하겠습니다.


# gettype() 함수 예제보기


만약 $test라는 변수가 다음과 같은 값을 가질때 반환되는 값은 아래와 같습니다.

$test = 123;
$test = 'abc';
$test = true;
$test = false;
$test = [1, 2];
$test = NULL;
$test = new testObj();

gettype($test);

순서대로 결과값은 아래와 같습니다.

integer
string
boolean
boolean
array
null
object


# 불리언을 반환하는 타입확인 함수 사용하기

위 방법 외에도 하나의 자료 타입을 기준으로 불리언 값을 반환하는 방법 역시 존재합니다. 아래의 함수는 각각의 타입을 확인 후 불리언으로 반환합니다.
  • is_string()
  • is_array()
  • is_object()
  • is_null()
  • is_int()
  • is_float()
  • is_bool()
  • is_resource()
만약 반환될 자료 타입이 확실한 경우 이 방법을 적용하는 것이 매우 간단합니다. 간단한 예제입니다.
$test = 'abc';

if (is_string($test)) {
  echo 'It is string!';
}
else {
  echo 'It is not string!';
}
위 에제는 $test가 string이므로 아래와 같이 반환할 것입니다.

It is string!


참고로 위 두 가지 방법 모두 php 4 이상에서 적용이 가능 합니다.