Précédent Suivant

Langage PHP

Le transtypage

 

Le type de données d’une variable peut être modifié à l’aide des "transtypages" (int), (double), (string) , … .

Les conversions autorisées sont:

(int), (integer)               -          type entier

(bool), (boolean)          -          booléen

(real), (double), (float) -          type double

(string)                         -          type chaîne

(array)                         -          type tableau

(object)                                   -          type objet

Exemple :

<?php
    
$foo = 1 + "10.5";
    
echo "\$foo = 1 + \"10.5\" alors \$foo est du type float (11.5)<br>";

    
$foo = 1 + "-1.3e3";
    
echo "\$foo = 1 + \"-1.3e3\" alors \$foo est du type float (-1299)<br>";

    
$foo = 1 + "bob-1.3e3";
    
echo "\$foo = 1 + \"bob-1.3e3\" alors \$foo est du type integer (1)<br>";

    
$foo = 1 + "bob3";
    
echo "\$foo = 1 + \"bob3\" alors \$foo est du type  integer (11)<br>";
    
$foo = 1 + "10 Small Pigs";
    
echo "\$foo = 1 + \"10 Small Pigs\" alors \$foo est du type
         
integer(11)<br>";

    
$foo = 1 + "10 Little Piggies";
    
echo "\$foo = 1 + \"10 Little Piggies\" alors \$foo est du type integer (11)<br>";
    
$foo = "10.0 pigs " + 1.0;
    
echo "\$foo = 1 + \"10.0 pigs \" + 1.0 alors \$foo est du type float (11)<br>";
?>

 

PHP met deux fonctions à notre disposition pour traiter les types de variable

Les fonctions gettype() et settype().

La fonction gettype()

Elle détermine le type de données de la variable et renvoie l’une des valeurs suivantes :

• "integer" ;

• "double" ;

• "string" ;

• "array" ;

• "object" ;

• "class" ;

• "unknown type" ;

La fonction settype()

Elle définit le type d’une variable de façon explicite, et si le type ne peut pas être défini, elle renvoie une valeur false.

Exemples :

<?php
   
$var = 11.2; // $var est un double
   
echo "\$var = $var et le type de \$var est ";
   
echo gettype($var);
   
echo "<br>";
   
// affiche : $var = 11.2 et le type de $var est double

   
$var = (int)$var; // $var est maintenant un entier de valeur 11
   
echo "\$var = $var et le type de \$var est ";
   
echo gettype($var);
   
echo "<br>";
   
// affiche : $var = 11 et le type de $var est integer

   
$var = (double)$var; // $var est de nouveau un double de valeur 11.0
   
echo "\$var = $var et le type de \$var est ";
   
echo gettype($var);
   
echo "<br>";
   
// affiche : $var = 11 et le type de $var est double

   
$var = (string)$var; // $var est une chaîne de caractères de valeur "11.0"
   
echo "\$var = $var et le type de \$var est ";
   
echo gettype($var);
   
echo "<br>";
   
// affiche : $var = 11 et le type de $var est string
?>

 

Exercice : (Voir annexe Le transtypage Exercice 1).

Déclarer deux variables php et affecter leur la valeur de votre nom et prénom puis,

générer à l'aide de PHP le texte suivant,

Je me présente

Mon prénom est "votre prénom"!

(Déja vu à l'exercice 3 du chapitre " Traitement des variables dans les chaînes")

Affichez ensuite, le type de chaque variable.

 

Exercice : (Voir annexe Le transtypage Exercice 2).

Soit les variables $var1=1000, $var2=6.55957, $var3= ‘1’’, $var4=array() 

Créer une page PHP afin d’afficher ces variables et leur type, puis convertisser

$var1 en type "double", $var2 en type "integer",  $var3 en type "double"  et $var4 en type "integer".

 

Précédent Suivant