gettype()
gettype()함수는 변수의 데이터 타입을 문자열로 반환한다
gettype(mixed $value): string
$value : 데이터 타입을 확인할 변수
반환 값은 변수의 데이터 타입을 문자열로 반환한다 목록은 다음과 같다
| 데이터 타입 |
|---|
boolean |
integer |
double |
string |
array |
object |
resource |
resource (closed) |
NULL |
unknown type |
체크하고자 하는 type이 있을 경우
gettype()보다는is_*()함수를 사용하자
is_null()
is_null()함수는 주어진 값이NULL타입인지 확인하는 함수이다
이 함수는 매개변수로 전달된 값이NULL타입이면true를 반환하고, 아닐경우false를 반환한다
💡NULL타입은 변수가 정의되지 않거나 변수에 값이 할당되지 않았음을 나타내는 데이터 타입이다
또한, 변수에 명시적으로null값을 할당했을 때에도NULL타입을 갖게 된다
NULL타입의 값은 하나뿐이며 대소문자를 구분하지 않는 상수 null 이다
is_null(mixed $value): bool
$value : 필수 NULL 타입을 확인할 값
빈 문자열은 ('')은 문자열 타입으로 간주되고, 빈 배열은 배열 타입으로 간주되지만 둘 다 null값이 아니다
이에 주의하여 빈 문자열과 빈 배열은 null 값을 구분하여 처리해야한다
is_resource()
is_resource()함수는 주어진 값이 리소스(resource) 타입인지 확인하는 함수이다
이 함수는 매개변수로 전달된 값이 리소스 타입이면true를 반환하고, 아닐경우false를 반환한다
💡 리소스(resource) 타입은 외부 리소스와 상호작용할 때 사용되는 데이터 타입이다
예를 들어, 파일, 데이터베이스 연결, 이미지, 네트워크 연결 등이 리소스에 해당한다
is_resource(mixed $value): bool
$value : 필수 리소스(resource) 타입을 확인할 값
is_resource() 함수는 닫힌 리소스 변수의 경우 false 를 반환한다
닫힌 리소스(closed resource) 란?
외부 리소스와 상호작용하는 동안 사용되었던 리소스가 이제 닫혔음을 나타낸다
닫힌 리소스는 더 이상 활성화되지 않고 사용할 수 없다는 것을 의미한다
닫힌 리소스를 확인하기 위해서는gettype()함수를 사용하자
닫힌 리소스인 경우resource (closed)라는 문자열을 반환한다
is_object()
is_object()함수는 주어진 값이 객체(object) 타입인지 확인하는 함수이다
이 함수는 매개변수로 전달된 값이 객체 타입이면true를 반환하고, 아닐경우false를 반환한다
💡 객체(object) 타입은 객체을 나타내는 데이터 타입이다
PHP에서 객체는 클래스로부터 생성되며, 클래스는 객체의 속성과 메서드를 정의한다
객체는 이러한 클래스의 인스턴스로서 데이터와 동작을 함께 포함하고 있다
is_object(mixed $value): bool
$value : 필수 객체(object) 타입를 확인할 값
is_object() 함수는 빈 객체을 포함하여 객체을 가리키는 모든 변수에 대해 true를 반환한다
이것은 is_object() 함수가 해당 변수가 객체인지 아닌지를 확인하는 것이기 때문이다
즉, 빈 객체 역시 객체임을 인식하고 true 를 반환한다
is_numeric()
is_numeric()함수는 주어진 값이 숫자 또는 숫자 문자열인지 확인하는 함수이다
이 함수는 매개변수로 전달된 값이 숫자이거나 숫자 문자열이면
true를 반환하고, 아닐경우false를 반환한다
💡 PHP 8.0.0 버전 이전에는 숫자 뒤에 공백이 있는 숫자 형식의 문자열은
is_numeric()함수에 의해 숫자로 인식되지 않았다
예를 들어 '35 '는 공백 문자가 포함되어 있어false를 반환했다.
PHP 8.0.0 버전부터는true를 반환하도록 변경되었다
is_numeric(mixed $value): bool
$value : 필수 숫자 또는 숫자 문자열인지 확인할 값
+ 또는 - 부호가 포함된 문자열은 is_numeric() 함수에 의해 숫자로 인식된다
예를 들어, '+123' 또는 '-456' 은 숫자로 인식된다
문자열이 모두 숫자인지 확인하려면 ctype_digit() 함수를 사용하자
💡
is_numeric()함수보다 더 정확하게 숫자를 확인하려면
is_int()또는is_float()함수를 사용하는 것이 좋다
그리고,ctype_digit()함수는 문자열이 숫자로만 구성되어 있는지 확인하는데 사용할 수 있다
is_float()
is_float()함수는 주어진 값이 부동 소수점 숫자(float) 타입인지 확인하는 함수이다
이 함수는 매개변수로 전달된 값이 부동 소수점 숫자 타입이면
true를 반환하고, 아닐경우false를 반환한다
💡 부동 소수점 숫자(float) 타입은 부동 소수점 숫자를 나타내는 데이터 타입이다
소수점을 가진 숫자로, 정수와 달리 소수 부분을 포함한다
is_float(mixed $value): bool
$value : 필수 부동 소수점 숫자(float) 타입를 확인할 값
'10.5' 처럼 부동 소수점 숫자를 나타내는 문자열은 false를 반환한다/ ) 사용 시 자동 형변환$float_1 = 10 / 3;
$float_2 = 10 / 2;
is_float($float_1)); // true
is_float($float_2)); // false
gettype($float_2); // integer
$result = 0.5 + 0.5;
is_float($result); // true
is_int()`
is_int()함수는 주어진 값이 정수(integer) 타입인지 확인하는 함수이다
이 함수는 매개변수로 전달된 값이 정수 타입이면true를 반환하고, 아닐경우false를 반환한다
💡 정수(integer) 타입은 정수 데이터를 나타내는 데이터 타입이다
이것은 양의 정수, 음의 정수, 또는 0을 포함하는 모든 정수 값을 나타낸다
is_int(mixed $value): bool
$value : 필수 정수(integer) 타입를 확인할 값
'1' 처럼 숫자를 나타내는 문자열은 false 를 반환한다10.5 처럼 부동 소수점 숫자(float, 소수점을 가진 숫자)는 false 를 반환한다is_bool()
is_bool()함수는 주어진 값이 부울(boolean) 타입인지 확인하는 함수이다
이 함수는 매개변수로 전달된 값이 부울 타입이면true를 반환하고, 아닐경우false를 반환한다
💡 부울(boolean) 타입은
두 가지 값 중 하나인true(참) 또는false(거짓)만을 나타내는 데이터 타입이다
주로 조건문과 논리 연산에서 사용된다
is_bool(mixed $value): bool
$value : 필수 부울(boolean) 타입를 확인할 값
is_bool() 함수는 변수의 값을 boolean으로 변환하여 true 또는 false인지 확인하는 것이 아니라is_string()
is_string()함수는 주어진 값이 문자열(string) 타입인지 확인하는 함수이다
이 함수는 매개변수로 전달된 값이 문자열 타입이면true를 반환하고, 아닐경우false를 반환한다
💡 문자열(string) 타입은 문자열을 나타내는 데이터 타입이다
문자열은 작은따옴표('')나 큰따옴표("")로 둘러싸여 있어야 한다
is_string(mixed $value): bool
$value : 필수 문자열(string) 타입를 확인할 값