# get_debug_type

(PHP 8)

get_debug_type — Renvoie le nom du type de la variable d'une manière adaptée au débogage

### Description

get_debug_type(mixed `$value`): string

Renvoie le nom résolu de la variable PHP `value`. Cette fonction résoudra les objets à leur nom de classe, les ressources à leur nom de type de ressource, et les valeurs scalaires à leur nom commun tel qu'il serait utilisé dans les déclarations de type.

Cette fonction diffère de gettype() en ce qu'elle renvoie des noms de type qui sont plus cohérents avec l'utilisation réelle, plutôt que ceux présents pour des raisons historiques.

### Liste de paramètres

`value`

  La variable dont le type doit être vérifié.

### Valeurs de retour

Les types possibles de retour chaîne de caractères sont :

Type + Etat | Valeur de retour | Notes
--- | --- | ---
null | `"null"` | -
Booléens (`true` or `false`) | `"bool"` | -
Nombres entiers | `"int"` | -
Nombres à virgules flottantes | `"float"` | -
Chaines de caractères | `"string"` | -
Tableaux | `"array"` | -
Ressources | `"resource (resourcename)"` | -
Ressources (Closed) | `"resource (closed)"` | Exemple: Un stream de fichier après être fermé avec fclose().
Objets depuis des Classes Nommées | Le nom complet de la classe incluant le namespace par exemple `Foo\Bar` | -
Objets depuis des Classes Anonymes | `"class@anonymous"` ou le nom de la classe parente/le nom de l'interface si la classe étend une autre classe ou implémente une interface, par exemple `"Foo\Bar@anonymous"` | Les classes anonymes sont créer via la syntaxe `$x = new class { ... }`

### Exemples

Exemple #1 Exemple de get_debug_type()

`<?php
namespace Foo;
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('/examples/book.xml', '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;
interface A {}
interface B {}
class C {}
echo get_debug_type(new class implements A {}), PHP_EOL;
echo get_debug_type(new class implements A,B {}), PHP_EOL;
echo get_debug_type(new class extends C {}), PHP_EOL;
echo get_debug_type(new class extends C implements A {}), PHP_EOL;
?>`

Résultat de l'exemple ci-dessus est similaire à :

    null
    bool
    int
    float
    string
    array
    resource (stream)
    resource (closed)
    stdClass
    class@anonymous
    Foo\A@anonymous
    Foo\A@anonymous
    Foo\C@anonymous
    Foo\C@anonymous

### Voir aussi

- gettype() - Retourne le type de la variable
- get_class() - Retourne le nom de la classe d'un objet