(PHP 8)
get_debug_type — Gets the type name of a variable in a way that is suitable for debugging
Returns the resolved name of the PHP variable value
.
This function will resolve objects to their class name, resources to their
resource type name, and scalar values to their common name as would be used in type
declarations.
This function differs from gettype() in that it returns type names that are more consistent with actual usage, rather than those present for historical reasons.
value
The variable being type checked.
Possible values for the returned string are:
Type + State | Return Value | Notes |
---|---|---|
null |
"null"
|
- |
Booleans (true or false) |
"bool"
|
- |
Integers |
"int"
|
- |
Floats |
"float"
|
- |
Strings |
"string"
|
- |
Arrays |
"array"
|
- |
Resources |
"resource (resourcename)"
|
- |
Resources (Closed) |
"resource (closed)"
|
Example: A file stream after being closed with fclose. |
Objects from Named Classes |
The full name of the class including its namespace e.g. Foo\Bar
|
- |
Objects from Anonymous Classes |
"class@anonymous"
|
Anonymous classes are those created through the $x = new class { ... } syntax |
Example #1 get_debug_type() example
<?php
echo get_debug_type(null) . PHP_EOL;
echo get_debug_type(true) . PHP_EOL;
echo get_debug_type(1) . PHP_EOL;
echo get_debug_type(0.1) . PHP_EOL;
echo get_debug_type("foo") . PHP_EOL;
echo get_debug_type([]) . PHP_EOL;
$fp = fopen(__FILE__, 'rb');
echo get_debug_type($fp) . PHP_EOL;
fclose($fp);
echo get_debug_type($fp) . PHP_EOL;
echo get_debug_type(new stdClass) . PHP_EOL;
echo get_debug_type(new class {}) . PHP_EOL;
?>
The above example will output something similar to:
null bool int float string array resource (stream) resource (closed) stdClass class@anonymous