Back

Type et transtypage d’une variable en PHP

Type et transtypage d’une variable en PHP

  1. Objectifs

    • Être capable de manipuler les types des variables en PHP .
  2. 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
  3. 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 ;



  4. Le transtypage en PHP

    • Le transtypage permet de convertir le type d’une variable dans un autre type explicite.
    • $variable = (operateur_typage) valeur;

    • 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“).
    • <?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.
  5. 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($mavar)
      • 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)
      • if(gettype($saisie_utilisateur) == "integer")
        {
        $age=$saisie_utilisateur;
        }
    • 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 :
        • 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.
        • 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:
        • <?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 !
          ?>
  6. Exercices

    • Ex01:

      • Donnez les valeurs de $x, $y, $z à la fin du script suivant :
        • $x=”PostgreSQL”;
        • $y=”MySQL”;
        • $z=&$x;
        • $x=”PHP 5″;
        • $y=&$x;

  • 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






Riadh HAJJI

Abonnez vous à notre chaîne YouTube gratuitement