PHP supports eight primitive types.
Four scalar types:
Boolean (boolean)
Integer (integer)
Float ) (Floating point number, also called "double")
String (string)
Two composite types:
Array (array)
Object
Finally there are two special types:
Resource (resource)
NULL
To ensure code readability, this manual also introduces some pseudo-types:
mixed (mixed)
number (number)
callback (callback)
You may also read some references to the "double" type. In fact, double and float are the same, and for some historical reasons, these two names existed at the same time.
The type of a variable is usually not set by the programmer, rather it is determined by PHP at runtime based on the context in which the variable is used.
Note: If you want to see the value and type of an expression, use var_dump().
Note: If you just want a human-readable representation of the type for debugging, use gettype(). To check a type, don't use gettype(), use the is_type function. Here are some examples:
<?php$bool = TRUE; // a boolean$str = "foo"; // a string$int = 12; // an integerecho gettype($bool); // prints out "boolean"echo gettype($str); // prints out "string"// If this is an integer, increment it by fourif (is_int($int)) { $int += 4;}// If $bool is a string, print it out// (does not print out anything)if (is_string($bool)) { echo "String: $bool";}?> Copy after login |
<?php$foo = True; // assign the value TRUE to $foo?>
Boolean
This is the simplest type. boolean expresses a truth value and can be TRUE or FALSE. Note: The Boolean type was introduced in PHP 4. SyntaxTo specify a Boolean value, use the keywords TRUE or FALSE. Both are case-insensitive.// == is an operator which test// equality and returns a booleanif ($action == "show_version") { echo "The version is 1.23";}// this is not necessary...if ($show_separators == TRUE) { echo "<hr>n";}// ...because you can simply typeif ($show_separators) { echo "<hr>n";} Copy after login |
<?phpecho gettype((bool) ""); // bool(false)echo gettype((bool) 1); // bool(true)echo gettype((bool) -2); // bool(true)echo gettype((bool) "foo"); // bool(true)echo gettype((bool) 2.3e5); // bool(true)echo gettype((bool) array(12)); // bool(true)echo gettype((bool) array()); // bool(false)?> Copy after login |
Convert to Boolean
To explicitly convert a value to boolean, use (bool) or (boolean) to cast. But in many cases, casting is not necessary because when an operator, function, or flow control requires a boolean parameter, the value is automatically converted. See Type Trick. When converted to boolean, the following values are considered FALSE: Boolean FALSEInteger value 0 (zero) Floating point Value 0.0 (zero)Blank string and string "0"
Array with no member variables
Object with no cells
Special type NULL (Including variables not yet set)
All other values are considered TRUE (including any resources).
1