Fonctions liées aux types
Récupérer / tester le type d’une variable
La fonction gettype() permet de récupérer le type d’une variable.
L’opérateur typeof permettra de tester le type d’une variable, notamment pour savoir si une variable est un objet d’un type précis ou une extension de ce type.
Caster une variable dans un type
Pour caster une valeur on peut utiliser les fonctions intval(), floatval, boolval ou encore la syntaxe (int)$var avec les mots-clés int, float, bool, array.
Les booléens : bool
Si l’on voit souvent écrit boolean, le type à appliquer est bien bool. Un booléen vaut true ou false.
On peut tester qu’une variable est un boolnée via la fonction is_bool().
Les nombres entiers : int
La valeur maximale d’un entier dépend de la plateforme (32 ou 64 bits). Les valeurs minimale et maximale peuvent être connues grâce aux constantes PHP_INT_MIN et PHP_INT_MAX.
On peut tester qu’une variable est un entier via la fonction is_int() qui possède 2 alias que sont is_integer() et is_long().
Les nombres à virgules flottantes : float / double
En PHP, les deux types float et double sont similaires. Toutefois, depuis PHP 7 qui introduit le typage, on préfère l’usage de float car le mot-clé double n’est pas géré. À l’inverse d’autres technologies comme SQL, en PHP il n’y a pas de différence de précision entre float et double.
La valeur maximale d’un nombre à virgule flottante dépend de la plateforme (32 ou 64 bits). Les valeurs minimale et maximale peuvent être connues grâce aux constantes PHP_FLOAT_MIN et PHP_FLOAT_MAX.
On peut tester qu’une variable est un nombre à virgule flottante via la fonction is_float() qui possède l’alias is_double().
Les chaînes de caractères : string
Une chaîne de caractères correspond à du texte ou chaque caractère équivaut à un octet. Sur les système 32 bits, il y a une restriction de taille à 2 Go maximum. En 64 bits (et depuis PHP 7.0.0), il n’y a plus de limite.
Une chaîne de caractère peut s’écrire entre simple ou double cotes. La différence étant qu’avec les doubles cotes PHP pourra interpréter les variables et tout ce qui est caractère type fin de ligne, saut de ligne, tabulation… PHP ignorant ces éléments avec les simples cotes, leur analyse est donc plus rapide.
On peut tester qu’une variable est une chaîne de caractères via la fonction is_string().
Les tableaux : array
Les tableaux permettent de stocker des données sous la forme clé ⇔ valeur.
On peut aussi mettre des entiers que des chaînes de caractères en clé. On évitera cependant les nombres flottants qui sont transformés en entiers et la valeur null qui sera transformée en chaîne vide.
On peut tester qu’une variable est un tableau via la fonction is_array().
Les ressources : resource
Les ressources (type resource) correspond à une référence vers une ressource externe. Il peut s’agir d’un fichier, d’une connexion à une BDD, etc. La fonction get_resource_type() permet de connaitre le type de la ressource (mysql link, stream, domxml document, etc.).