PHP supports eight primitive types.
Four scalar types:
boolean
integer
float (floating-point number, aka 'double')
string
Two compound types:
array
object
And finally two special types:
resource
NULL
This page also introduces some pseudo-types for readability reasons:
mixed
number
callback
And the pseudo-variable $....
You may also find some references to the type "double". Consider double the same as float, the two names exist only for historic reasons.
The type of a variable is usually not set by the programmer; rather, it is decided at runtime by PHP depending on the context in which that variable is used.
Note: If you want to check out the type and value of a certain expression, use var_dump().
If you simply want a human-readable representation of the type for debugging, use gettype(). To check for a certain type, do not use gettype(), but use the is_type functions. Some examples:
$a_bool = TRUE; // a boolean
$a_str = "foo"; // a string
$a_str2 = 'foo'; // a string
$an_int = 12; // an integer
echo gettype($a_bool); // prints out: boolean
echo gettype($a_str); // prints out: string
// If this is an integer, increment it by four
if (is_int($an_int)) {
$an_int += 4;
}
// If $bool is a string, print it out
// (does not print out anything)
if (is_string($a_bool)) {
echo "String: $a_bool";
}
?>
If you would like to force a variable to be converted to a certain type, you may either cast the variable or use the settype() function on it.