get_debug_type

(PHP 8)

get_debug_typeВозвращает имя типа переменной в виде, подходящем для отладки

Описание

get_debug_type(mixed$value): string

Возвращает преобразованное имя переменной 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

Смотрите также

  • gettype() - Возвращает тип переменной
  • get_class() - Возвращает имя класса, которому принадлежит объект
To Top