Les types de données en PHP

Les variables PHP vont pouvoir stocker différents types de valeurs, comme du texte ou un nombre par exemple. Par abus de langage, nous parlerons souvent de « types de variables » PHP.

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. 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, ce qui va s’avérer très pratique pour nous !

Une conséquence directe de cela est qu’on va pouvoir stocker différents types de valeurs dans une variable au fil du temps sans se préoccuper d’une quelconque compatibilité. Par exemple, une variable va pouvoir stocker une valeur textuelle à un moment dans un script puis un nombre à un autre moment.

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 ;
  • Le type « nombre entier » ou Integer en anglais ;
  • Le type « nombre décimal » ou Float en anglais ;
  • Le type « booléen » ou Boolean en anglais ;
  • Le type « tableau » ou Array en anglais ;
  • Le type « objet » ou Object en anglais ;
  • Le type « NULL » qui se dit également NULL en anglais ;
  • Le type « ressource » ou Resource en anglais ;

Nous allons pour le moment nous concentrer sur les types simples de valeurs. Les autres types feront l’objet de leçons ou de parties dédiées dans ce cours.

 

Le type chaîne de caractères ou String

Le premier type de données qu’une variable va pouvoir stocker est le type String ou chaîne de caractères. Une chaine de caractères est une séquence de caractères, ou ce qu’on appelle communément un texte.

Notez que toute valeur stockée dans une variable en utilisant des guillemets ou des apostrophes sera considérée comme une chaine de caractères, et ceci même dans le cas où nos caractères sont à priori des chiffres comme « 28 » par exemple.

Lorsqu'on entoure une valeur avec des apostrophes ou guillemets en PHP elle devient de type chaine de caractères

Ici, notre première variable $prez stocke la chaine de caractère « Je m’appelle Pierre ». Notre deuxième variable $age, quant à elle, stocke le nombre 28. En revanche, notre troisième variable $age2 stocke la chaine de caractères « 28 » et non pas un nombre.

En effet, l’utilisation de guillemets ou d’apostrophe fait qu’une valeur est immédiatement considérée comme une chaine de caractères, quelle que soit cette valeur.

Pour s’en convaincre, on peut utiliser la fonction gettype() qui nous permet de connaître le type d’une variable (en anglais). Nous verrons plus en détail ce que sont les fonctions plus tard dans ce cours.

Pour le moment, il vous suffit de savoir que la fonction gettype() va renvoyer en résultat le type de la valeur stockée dans une variable. Nous allons ensuite utiliser une instruction echo pour afficher ce résultat renvoyé.

<!DOCTYPE html>
<html>
    <head>
        <title>Cours PHP & MySQL</title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="cours.css">
    </head>
    
    <body>
        <h1>Titre principal</h1>
        <?php
            $prez = "Je m'appelle Pierre";
            $age = 28; //Stocke le nombre 28
            $age2 = "28"; //Stocke la chaine de caractères "28"
            
            echo "La variable $age contient une valeur de type ";
            echo gettype($age);
            
            echo "<br>La variable $age2 contient une valeur de type ";
            echo gettype($age2);
        ?>
        <p>Un paragraphe</p>
    </body>
</html>

 

Les données en PHP peuvent être de type chaine de caractère ou string

Le code ci-dessus peut vous sembler complexe à votre niveau car nous effectuons deux opérations sur la même ligne : tout d’abord, on demande à gettype() va retourner le type de la valeur contenue dans notre variable puis on echo le résultat renvoyé par gettype().

Ne cherchez pas forcément à tout comprendre immédiatement. Une nouvelle fois, nous reparlerons des fonctions plus tard dans ce cours. Pour le moment, nous voulions juste démontrer que $age2 contient bien une valeur de type « chaine de caractères » ou String en anglais, ce qui est bien le cas.

 

Les types de données nombre entier (Integer) et nombre décimal (Float ou Double)

En PHP, on va pouvoir stocker deux types différents de donnée numéraires dans nos variables : le type Integer, qui contient tous les nombres entiers positifs ou négatifs et le type Float ou Double, qui contient les nombres décimaux (nombres à virgule) positifs ou négatifs.

On va donc pouvoir stocker un entier ou un nombre décimal dans une variable. Pour cela, il suffit d’affecter le nombre à stocker à notre variable, sans guillemet ni apostrophe.

Attention cependant : lorsque l’on code, on utilise toujours les notations anglo-saxonnes. Ainsi, il faudra préciser des points à la place de nos virgules pour les nombres relatifs. Voyons immédiatement un exemple ensemble :

<!DOCTYPE html>
<html>
    <head>
        <title>Cours PHP & MySQL</title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="cours.css">
    </head>
    
    <body>
        <h1>Titre principal</h1>
        <?php
            $prez = "Je m'appelle Pierre";
            $age = 28; //Stocke le nombre 28
            $age2 = "28"; //Stocke la chaine de caractères "28"
            $distance = 2.84;
            
            echo "La variable $age contient une valeur de type ";
            echo gettype($age);
            
            echo "<br>La variable $distance contient une valeur de type ";
            echo gettype($distance);
        ?>
        <p>Un paragraphe</p>
    </body>
</html>

 

Une variable peut stocker des données de type integer ou nombre entier en PHP

 

Le type de données booléen (Boolean)

Une variable en PHP peut encore stocker une valeur de type booléen (Boolean en anglais).

Le type booléen est un type qui ne contient que deux valeurs : les valeurs true (vrai) et false (faux). Ce type n’est pas courant dans la vie de tous les jours mais est très (très) utilisé en informatique.

Nous aurons souvent recours aux booléens dans ce cours car ils vont être à la base de nombreux mécanismes en PHP, et aurons donc largement le temps de comprendre tout l’intérêt de ces valeurs.

Pour stocker une valeur de type booléen dans une variable, pensez bien à ne pas entourer true ou false par des guillemets ou des apostrophes. Si vous utilisez des guillemets ou apostrophes, en effet, les valeurs seront considérées comme étant de type chaine de caractères ou String et nous n’allons pas pouvoir les utiliser pour réaliser certaines opérations.

<!DOCTYPE html>
<html>
    <head>
        <title>Cours PHP & MySQL</title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="cours.css">
    </head>
    
    <body>
        <h1>Titre principal</h1>
        <?php
            $prez = "Je m'appelle Pierre";
            $age = 28; //Stocke le nombre 28
            $age2 = "28"; //Stocke la chaine de caractères "28"
            $distance = 2.84;
            $vrai = true;
            $faux = false;
            
            echo "La variable $vrai contient une valeur de type ";
            echo gettype($vrai);
            
            echo "<br>La variable $faux contient une valeur de type ";
            echo gettype($faux);
        ?> 
        <p>Un paragraphe</p>
    </body>
</html>

 

Le type de valeur booléen ne possède que deux valeurs true et false en PHP

 

Le type de données Null

Le type de données Null est un type un peu particulier puisqu’il correspond à l’absence de valeur et sert donc à représenter des variables vides en PHP.

Ce type de valeur ne contient qu’une seule valeur : la valeur NULL qui correspond elle-même à l’absence de valeur. Il est un peu tôt pour vous faire comprendre l’intérêt de ce type de valeurs ; nous en reparlerons plus tard dans ce cours lorsque nous aurons à l’utiliser.

Notez que si vous déclarez une nouvelle variable sans lui affecter de valeur (ce qui est déconseillé de manière générale), cette variable sera automatiquement de type Null.

<!DOCTYPE html>
<html>
    <head>
        <title>Cours PHP & MySQL</title>
        <meta charset="utf-8">
        <link rel="stylesheet" href="cours.css">
    </head>
    
    <body>
        <h1>Titre principal</h1>
        <?php
            $prez = "Je m'appelle Pierre";
            $age = 28; //Stocke le nombre 28
            $age2 = "28"; //Stocke la chaine de caractères "28"
            $distance = 2.84;
            $vrai = true;
            $faux = false;
            $vide = NULL;
            $vide2;
            
            echo "La variable $vide contient une valeur de type ";
            echo gettype($vide);
            
            echo "<br>La variable $vide2 contient une valeur de type ";
            echo gettype($vide2);
        ?>
        <p>Un paragraphe</p>
    </body>
</html>

 

Le type null correspond à l'absence de valeur en PHP

 

Les types de données PHP tableau (Array) et objet (Object)

Les types de données Array et Object sont des types de données complexes particuliers qui méritent de faire chacun l’objet de chapitres séparés.

Nous n’étudierons donc pas ces deux types pour le moment car n’avons pas les connaissances suffisantes pour bien les comprendre.

Sachez simplement que l’on va pouvoir stocker plusieurs valeurs d’un coup à l’intérieur d’une variable en lui assignant des valeurs de type Array (tableau) ou Object (objet).

 

Le type de données ressource (Resource)

Une ressource est une variable particulière qui contient une référence vers une ressource externe au PHP, comme dans le cas d’une variable qui représente la connexion vers une base de données par exemple.

Là encore, ce type de données est complexe et nécessite d’avoir une bonne vision d’ensemble du langage pour être bien compris. Nous l’étudierons donc plus tard.

Laisser un commentaire