Type et transtypage d’une variable en PHP
Type et transtypage d’une variable en PHP
-
Objectifs
- Être capable de manipuler les types des variables en PHP .
-
Utilisation
- Avant de manipuler des variables, en utilisant, par exemple, des opérateurs, il peut être utile de connaître leur type. Cela permet de s’assurer que le résultat obtenu est conforme à ce qui est attendu et qu’il n’y a pas d’incompatibilité entre les types de ces variables. L’opérateur d’incrémentation appliqué à une chaîne, par exemple, peut donner des résultats curieux
-
Type des variable en PHP
- PHP n’impose pas (et ne permet pas) de définir explicitement le type d’une variable lors de sa déclaration
- En PHP, contrairement à d’autres langages de programmation, nous n’avons pas besoin de préciser à priori le type de valeur qu’une variable va pouvoir stocker.
- Leur (variable) type dépend de leur valeur et de leur contexte d’utilisation. Mais on peut forcer (cast) ponctuellement une variable à un type de données, ce qui s’appelle le transtypage.
- Le PHP va en effet automatiquement détecter quel est le type de la valeur stockée dans telle ou telle variable, et nous allons ensuite pouvoir performer différentes opérations selon le type de la variable.
- Les variables en PHP vont pouvoir stocker 8 grands types de données différents Le type :
- "chaine de caractères" ou
String
en anglais ; - "nombre entier" ou
Integer
en anglais ; - "nombre décimal" ou
Float
en anglais ; - "booléen" ou
Boolean
en anglais ; - "tableau" ou
Array
en anglais ; - "objet" ou
Object
en anglais ; - "NUL" qui se dit également
NULL
en anglais ; - "ressource" ou Resource en anglais ;
-
Le transtypage en PHP
- Le transtypage permet de convertir le type d’une variable dans un autre type explicite.
- La conversion de type en PHP fonctionne de la même manière qu’en C : le nom du type désiré est écrit entre parenthèses devant la variable à transtyper («
cast
« ). -
Déterminer le type d’une variable en PHP
-
La fonction gettype()
- La principale fonction permettant de déterminer le type d’une valeur est gettype(), dont la syntaxe est la suivante :
- string gettype ( var ) : Retourne le type de la variable Php var. Ce type peut être : "integer", "double", "string", "array", "object", "class", "unknown type" (type inconnu)
-
Autres fonctions pour connaître le type d’une variable
- Une autre alternative pour connaître le type d’une variable est l’utilisation de l’une des fonctions booléennes suivantes :
- Les fonctions is_* retournent une valeur booléenne, true si la comparaison est vraie, sinon false.
- int isset(var) : Cette fonction retourne le résultat TRUE si la variable var possède une valeur, FALSE sinon
- Elles retournent la valeur booléenne TRUE si la variable est du type recherché et FALSE dans le cas contraire.
-
Exemples:
-
Exercices
- Donnez les valeurs de $x, $y, $z à la fin du script suivant :
- $x= »PostgreSQL »;
- $y= »MySQL »;
- $z=&$x;
- $x= »PHP 5″;
- $y=&$x;
$variable = (operateur_typage) valeur;
<?php
$foo = 10; // $foo est un entier
$bar = (double) $foo; // $bar est un double
?>
Opérateur | Description |
---|---|
(int) (integer) |
convertit une variable en un nombre entier. |
(real) (double) (float) |
convertit une variable en un nombre décimal. |
(string) | convertit une variable en une chaîne de caractères. |
(array) | convertit une variable en un tableau. |
(object) | convertit une variable en un objet. |
string gettype($mavar)
if(gettype($saisie_utilisateur) == "integer")
{
$age=$saisie_utilisateur;
}
Fonction | Description |
---|---|
gettype() | retourne le type d’une variable (integer, double, string, boolean, NULL, array, object, resource, user function, unknown type). |
is_numeric() is_int() is_integer() |
indique si la variable est de type numérique. |
is_long() is_double() is_real() |
indique si la variable est un entier. |
is_float() | indique si la variable est un nombre décimal. |
is_string() | indique si la variable est un chaîne de caractères. |
is_array() | indique si la variable est un tableau. |
is_object() | indique si la variable est un objet. |
is_bool() | indique si la variable est booléenne. |
is_null() | indique si la variable est nulle. |
is_resource() | indique si la variable est une ressource. |
is_scalar() | indique si la variable est scalaire, si elle contient des entiers, des nombres décimaux, des chaînes de caractères ou des booléens. |
<?php
$var = 73;
if(is_int($var))
{
$var++;
echo "La variable vaut $var <br />";
}
// Affiche : La variable vaut 74
$var2="Bonjour ";
if(is_string($var2))
{
$var2.=" à tous!";
echo $var2;
}
// Affiche : Bonjour à tous !
?>
- Ex01:
- Références:
- https://www.php.net
- Livre PHP5 Cours et exercices Jean Engels 2e édition
- Technologies de l’Information et de la Communication 4 année secondaire