(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