(PHP 8)
get_debug_type — Возвращает имя типа переменной в виде, подходящем для отладки
Возвращает преобразованное имя переменной PHP value
.
Функция преобразует объекты в имя их класса, ресурсы - в имя их типа
ресурса, а скалярные значения - в общепринятое имя их типа, которое бы
использовалось в объявлении типов.
Функция отличается от gettype() тем, что возвращает имена типов, которые больше соответствуют фактическому использованию, а не те, которые присутствуют по историческим причинам.
value
Переменная, у которой проверяется тип.
Возможные значения для возвращаемой строки:
Тип + Состояние | Возвращаемое значение | Замечания |
---|---|---|
null |
"null"
|
- |
Логические значения (true или false) |
"bool"
|
- |
Целые числа |
"int"
|
- |
Числа с плавающей точкой |
"float"
|
- |
Строки |
"string"
|
- |
Массивы |
"array"
|
- |
Ресурсы |
"resource (resourcename)"
|
- |
Ресурсы (закрытые) |
"resource (closed)"
|
Пример: файловый поток после закрытия с помощью fclose. |
Объекты именованных классов |
Полное имя класса, включая его пространство имён, например,
Foo\Bar
|
- |
Объекты анонимных классов |
"class@anonymous"
|
Анонимные классы - это классы, созданные с использованием синтаксиса $x = new class { ... }. |
Пример #1 Пример использования get_debug_type()
<?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;
?>
Результатом выполнения данного примера будет что-то подобное:
null bool int float string array resource (stream) resource (closed) stdClass class@anonymous