PHP 8.3.4 Released!

gettype

(PHP 4, PHP 5, PHP 7, PHP 8)

gettypeGet the type of a variable

Description

gettype(mixed $value): string

Returns the type of the PHP variable value. For type checking, use is_* functions.

Parameters

value

The variable being type checked.

Return Values

Possible values for the returned string are:

  • "boolean"
  • "integer"
  • "double" (for historical reasons "double" is returned in case of a float, and not simply "float")
  • "string"
  • "array"
  • "object"
  • "resource"
  • "resource (closed)" as of PHP 7.2.0
  • "NULL"
  • "unknown type"

Changelog

Version Description
7.2.0 Closed resources are now reported as 'resource (closed)'. Previously the returned value for closed resources were 'unknown type'.

Examples

Example #1 gettype() example

<?php

$data
= array(1, 1., NULL, new stdClass, 'foo');

foreach (
$data as $value) {
echo
gettype($value), "\n";
}

?>

The above example will output something similar to:

integer
double
NULL
object
string

See Also

  • get_debug_type() - Gets the type name of a variable in a way that is suitable for debugging
  • settype() - Set the type of a variable
  • get_class() - Returns the name of the class of an object
  • is_array() - Finds whether a variable is an array
  • is_bool() - Finds out whether a variable is a boolean
  • is_callable() - Verify that a value can be called as a function from the current scope.
  • is_float() - Finds whether the type of a variable is float
  • is_int() - Find whether the type of a variable is integer
  • is_null() - Finds whether a variable is null
  • is_numeric() - Finds whether a variable is a number or a numeric string
  • is_object() - Finds whether a variable is an object
  • is_resource() - Finds whether a variable is a resource
  • is_scalar() - Finds whether a variable is a scalar
  • is_string() - Find whether the type of a variable is string
  • function_exists() - Return true if the given function has been defined
  • method_exists() - Checks if the class method exists

add a note

User Contributed Notes 2 notes

up
8
mohammad dot alavi1990 at gmail dot com
9 months ago
Be careful comparing ReflectionParameter::getType() and gettype() as they will not return the same results for a given type.

string - string // OK
int - integer // Type mismatch
bool - boolean // Type mismatch
array - array // OK
up
-49
Anonymous
2 years ago
Same as for "boolean" below, happens with integers. gettype() return "integer" yet proper type hint is "int".

If your project is PHP8+ then you should consider using get_debug_type() instead which seems to return proper types that match used for type hints.
To Top