Introduction

En PHP, chaque expression a l'un des types intégrés suivants en fonction de sa valeur :

PHP est un langage typé dynamiquement, ce qui signifie que par défaut, il n'est pas nécessaire de spécifier le type d'une variable, car cela sera déterminé au moment de l'exécution. Cependant, il est possible de typer statiquement certains aspects du langage en utilisant les déclarations de type. Différents types pris en charge par le systÚme de types de PHP sont disponibles sur la page du systÚme de types.

Les types limitent le type d'opĂ©rations qui peuvent ĂȘtre effectuĂ©es sur eux. Cependant, si une expression/variable est utilisĂ©e dans une opĂ©ration que son type ne supporte pas, PHP tentera de jongler de type dans un type compatible avec l'opĂ©ration. Ce processus dĂ©pend du contexte dans lequel la valeur est utilisĂ©e. Pour plus d’informations, consulter la section sur le jonglage de type.

Astuce

Les tableaux de comparaison de type peuvent Ă©galement ĂȘtre utiles, car divers exemples de comparaison entre des valeurs de diffĂ©rents types sont prĂ©sents.

Note: Il est possible de forcer l’évaluation d’une expression Ă  un certain type en utilisant un type casting. Une variable peut Ă©galement ĂȘtre convertie sur place Ă  l’aide de la fonction settype().

Pour vérifier le type et la valeur d'une expression, utiliser la fonction var_dump(). Pour récupérer le type d'une expression, utiliser la fonction get_debug_type(). Toutefois, pour vérifier si une expression est d'un certain type, utiliser plutÎt les fonctions is_type.

Exemple #1 Types Différents

<?php
$a_bool
= TRUE; // un booléen
$a_str = "foo"; // une chaĂźne de caractĂšres
$a_str2 = 'foo'; // une chaĂźne de caractĂšres
$an_int = 12; // un entier

echo get_debug_type($a_bool), "\n";
echo
get_debug_type($a_str), "\n";

// Si c'est un entier, incrément de 4
if (is_int($an_int)) {
$an_int += 4;
}
var_dump($an_int);

// Si $a_bool est une chaĂźne de caractĂšres, on l'affiche
if (is_string($a_bool)) {
echo
"String: $a_bool";
}
?>

Résultat de l'exemple ci-dessus en PHP 8 :

bool
string
int(16)

Note: Avant PHP 8.0.0, lorsque le get_debug_type() n’est pas disponible, la fonction gettype() peut ĂȘtre utilisĂ©e Ă  la place. Cependant, elle n’utilise pas les noms de type canoniques.

add a note

User Contributed Notes

There are no user contributed notes for this page.