Il existe plusieurs types de variables en PHP : des string, integer, double, Array, etc.

Quelle est la fonction de chaque type de variable ? Comment les déclarer, les utiliser, les modifier ?

Nous allons voir tout ça dans ce tutoriel afin de vous donner les clés pour savoir utiliser les variables en PHP.

 

Déposez gratuitement votre projet sur Codeur.com, recevez une quinzaine de devis et sélectionnez le développeur web idéal.

Trouver un développeur web

Les types de variables en PHP

Dans un premier temps, concentrons-nous sur les différents types de variables qui peut exister en PHP. Faisons le tour des plus importantes.

Les chaînes de caractères : string

Les chaînes de caractères ou string, sont, comme leur nom l’indique, une succession de caractère, qui forment des mots, des phrases, des mots de passe, etc.

Les chaînes de caractères peuvent être « concaténées », c’est-à-dire, être mise les unes après les autres.

Au niveau des fonctions autour des strings, on peut noter strlen qui calcule le nombre de caractères dans la variable, trim qui retire les espaces inutiles au début à la fin la chaîne de caractère.

<?php
// Création de la variable firstname
$firstname = 'Jean';
// Modification de la variable firstname
$firstname = 'Jean-Michel';
// Création de la variable lastname
$lastname = 'Du';
// Ajout de la suite du nom de famille
$lastname .= 'pont';
// Nom de famille tout en majuscule
$lastname =strtoupper($lastname);
// Récupération du nom complet
$fullname = $firstname . ' ' . $lastname;
// Nom complet
var_dump( $fullname ); // ==> string(18) "Jean-Michel DUPONT"
// Comptage
var_dump( strlen($fullname) ); // ==> int(18)

Les nombres : integer et double

Les integer sont des nombres entier. Pas de décimales, uniquement des nombres entiers relatifs.

À l’inverse, les double, plus connu sous le nom de float sont des nombres décimaux. Du fait qu’elles peuvent contenir une virgule, les variables de ce type sont plus lourdes. Elles demandent donc plus de mémoire.

Il est important de savoir que ces deux types de variables peuvent interagir entre elles et subir des opérations (addition, soustraction, multiplication, division, modulo, formules mathématiques, etc).

Voici quelques fonctions utiles : floor et ceil qui permettent d’arrondir respectivement à l’intérieur et au supérieur, pow pour effectuer une puissance, number_format pour la mise en forme du nombre.

<?php
$entier = 5;
$entier += 2;
var_dump( $entier ); // ==> int(7)
$second = 13;
$somme = $entier + $second;
var_dump( $somme ); // ==> int(20)
$somme *= 2;
var_dump( $somme ); // ==> int(40)
$dec = 7.4;
$dec += 1.2;
var_dump( $dec ); // ==> float(8.6)
var_dump( $somme + $dec ); // ==> float(48.6)
var_dump( floor($dec) ); // ==> float(8) 
var_dump( ceil($dec) ); // ==> float(9)
var_dump( number_format($dec, 2, ',', ' ') ); // ==> string(4) "8,60"

Raisonnement binaire : boolean

Les variables boolean sont très simple à comprendre. C’est oui ou c’est non. Autrement dit, c’est true (1) ou false (0). Ce sont les variables les plus légères, car elles fonctionnent sur un seul bit qui est soit allumé, soit éteint.

<?php
$test = true;
var_dump( $test ); // ==> bool(true)
$test = ! $test;
var_dump( $test ); // ==> bool(false)
var_dump( true * true ); // ==> int(1)
var_dump( true * false ); // ==> int(0)

Les listes : Array

Quand vous devez stocker une liste d’informations, vous pouvez utiliser les Array. Il s’agit d’une variable qui va contenir une à plusieurs sous variable de n’importe quel type.

Par exemple, on peut s’en servir pour avoir une liste d’invités, de choix, de réponses, etc.

Quelques fonctions utiles : count compte le nombre d’éléments dans la liste, implode fusionne la liste en chaîne de caractère, shift supprime la première entrée.

<?php
$liste = [ 'Pierre', 'Paul', 'Jacques' ];
$liste[] = 'Beatrice';
var_dump( $liste );
/* array(3) {
  [0]=>
  string(6) "Pierre"
  [1]=>
  string(4) "Paul"
  [2]=>
  string(7) "Jacques"
  [3]=>
  string(8) "Beatrice"
} */
var_dump( count($liste) ); // ==> int(4)
var_dump( implode(',', $liste) ); // ==> string(28) "Pierre,Paul,Jacques,Beatrice"
var_dump( $liste[2] ); // ==> string(7) "Jacques"

Autres types

Parmi les autres types de variables, nous pouvons trouver les objets, très utilisé, mais trop complexe pour un tuto de base ; mais aussi les références.

Résumé

Il existe plusieurs types de variables, toutes ont leur utilité propre et leur mode de fonctionnement propre.

Voici un lien avec un exemple qui résume très rapidement quelques types de variable utiles.

 

Exemple d’application : un produit

Nous voulons représenter un produit dans une variable. Il s’agit produit, avec une liste des informations le concernant. Nous allons donc utiliser un Array.

Construire le produit

À l’intérieur de celui-ci, nous allons avoir plusieurs éléments.

  • Le nom du produit qui sera donc une chaîne de caractères string.
  • Le niveau de disponibilité du produit : est-il disponible ou non. C’est un raisonnement binaire, ce sera donc un boolean.
  • La quantité disponible du produit. Mon produit ne peut-être vendu coupé en morceaux. Il n’y aura donc pas de décimales, ce sera un integer.
  • Le prix du produit, qui cette fois est un nombre décimal, donc un float ou double.
  • Enfin la liste des coloris disponibles. Il s’agit d’une liste de couleurs, donc un Array.
$product = [
  'name' => "Chaise",
  'disponibility' => true,
  'quantity' => 7,
  'price' => 24.50,
  'colors' => [ 'Marron', 'Blanche', 'Noire' ]
];

Voici un exemple complet que vous pouvez exécuter pour voir le résultat.

Afficher les informations de notre produit

À présent, nous allons afficher un petit texte style résumé Google, à propos de notre produit.

Dans un premier temps, nous allons devoir vérifier si le produit est disponible ou non. En effet s’il ne l’est pas, le texte sera différent. Nous allons donc commencer par une condition : « est-ce que le boolean indiquant la disponibilité de mon produit est à true ? », ou avec du code if( $product['disponibility'] ).

À l’intérieur de cette condition, dans le cas où elle est vrai, nous allons pouvoir afficher le plus informations possible sur le produit, tout en restant condensé. On voudrait que le texte affiché soit au format : « Produit : (nom), disponible en (x) couleurs pour (x) €. (x) en stock (total: x €). »

Ce texte va donc contenir plusieurs variables à afficher. La première chose, le nom du produit. Nous l’avons sous la main.

Ensuite, il va nous falloir le nombre de couleurs. Nous allons donc créer une nouvelle variable dans lequel nous allons compter le nombre d’éléments dans la liste des couleurs du produit, en utilisant la fonction count.

$countColors = count( $product['colors'] );

La variable suivante est le prix. On pourrait l’afficher tel quel, mais ce n’est pas propre. Il vaut mieux « formater » le texte, l’afficher en bon français. Nous allons donc appliquer la fonction number_format sur le prix du produit.

$priceFormatted = number_format( $product['price'], 2, ',', ' ' );

Toujours après, nous avons la quantité, disponible directement dans la variable.

Enfin le total. Il s’agit de la quantité multiplié par le prix. Et tout comme le prix du produit, nous allons le formater afin de l’afficher proprement. C’est donc deux opérations qui va falloir rajouter.

$total = $product['quantity'] * $product['price'];
$totalFormatted = number_format( $total, 2, ',', ' ' );

Maintenant que nous avons toutes nous variables, nous allons pouvoir générer et afficher mon texte.

echo "Produit : {$product['name']}, disponible en {$countColors} couleurs pour {$priceFormatted} €. {$product['quantity']} en stock (total: {$totalFormatted} €).";

Bien entendu, je n’oublie pas de fermer ma condition avec un else et un message approprié.

if( $product['disponibility'] ) {
 //...
}
else {
  echo "Produit : {$product['name']} non disponible.";
}

Voici un exemple complet d’utilisation qu’il est possible d’exécuter.

On ne vous a pas encore perdu ? Si c’est le cas, pas de panique. Vous pouvez demander à recevoir des cours particuliers auprès de freelances spécialisés en PHP. Pour cela rien de plus simple, vous pouvez gratuitement déposer une demande d’aide sur Codeur.com.

 

Générer un panier à partir d’une liste de produits

Nous allons travailler avec des Array plus avancés. Déjà, il nous faut une liste de produits. C’est-à-dire, une liste de liste d’informations. On appelle ça un tableau à deux dimensions.

$products = [
  'chaise' => [
    'name' => "Chaise",
    'disponibility' => true,
    'quantity' => 120,
    'price' => 24.50,
    'colors' => [ 'Marron', 'Blanche', 'Noire' ]
  ],
  'table' => [
    'name' => "Table",
    'disponibility' => true,
    'quantity' => 14,
    'price' => 229,99,
    'colors' => [ 'Bois', 'Verre' ]
  ],
  'banc' => [
    'name' => "Banc",
    'disponibility' => false,
    'quantity' => 0,
    'price' => 154.00,
    'colors' => [ 'Bois', 'Fer' ]
  ]
];

Pour lire dans un tableau à plusieurs dimensions, on continue à utiliser les crochets en les enchaînant les uns à la suite des autres. Exemple :

var_dump( $products['table']['quantity'] );

Maintenant, le panier. Il s’agit tout simplement d’une liste de produits que l’on a choisi. Donc, le panier est un Array.

$cart = [ $products['chaise'], $products['chaise'], $products['table'] ];

Voici un code complet et exécutable qu’il fait office de démonstration.

 

Notre astuce pour déclarer et modifier une variable PHP

Vous connaissez à présent les différents types de variables PHP, comment les déclarer et comment les modifier.

Apprendre un nouveau langage peut-être quelque chose de lourd. Il est très important dans ces moments-là de ne pas baisser les bras et de pratiquer. Entraînez-vous à créer et modifier des variables PHP de toutes sortes.

Pour vous aider, que ce soit avec des exercices sur mesure, des cours pour expliquer ou des conseils pour approfondir le sujet ou encore pour vous aider dans le développement de votre site, vous pouvez déposer une annonce sur Codeur.com pour trouver un développeur spécialisé en PHP qui pourra vous aider dans vos projets.