Leçon 2/6 8 min

Variables et tableaux

Stockez et organisez vos données avec les variables PHP, les types, les chaînes et les tableaux associatifs.

Les variables en PHP : le signe $

En PHP, toutes les variables commencent par $. C'est ce qui les distingue immédiatement du reste du code :

$nom = "Alice";
$age = 28;
$taille = 1.72;
$estEtudiant = false;
$adresse = null;

Pas besoin de déclarer le type — PHP le déduit automatiquement. C'est ce qu'on appelle un langage à typage dynamique.

Les types de données

PHP a plusieurs types principaux :

$texte = "Bonjour";        // string (chaîne)
$nombre = 42;              // int (entier)
$decimal = 3.14;           // float (décimal)
$vrai = true;              // bool (booléen)
$rien = null;              // null (absence de valeur)

Pour vérifier le type d'une variable, utilisez gettype() ou var_dump() :

var_dump($texte);   // string(7) "Bonjour"
var_dump($nombre);  // int(42)
echo gettype($vrai); // boolean

var_dump() est votre meilleur outil de débogage — il affiche le type et la valeur.

Chaînes de caractères

PHP a deux types de guillemets avec des comportements différents :

$nom = "Alice";

// Guillemets doubles : les variables sont interprétées
echo "Bonjour $nom";        // → Bonjour Alice

// Guillemets simples : tout est littéral
echo 'Bonjour $nom';        // → Bonjour $nom

// Concaténation avec le point (.)
echo "Bonjour " . $nom . " !";  // → Bonjour Alice !

Règle simple : utilisez les guillemets doubles quand vous avez des variables dans la chaîne, les guillemets simples sinon.

Tableaux indexés et associatifs

PHP a deux types de tableaux :

// Tableau indexé (comme une liste numérotée)
$fruits = ["pomme", "banane", "cerise"];
echo $fruits[0];  // → pomme
echo $fruits[2];  // → cerise

// Tableau associatif (comme un dictionnaire)
$utilisateur = [
    'nom'    => 'Alice',
    'age'    => 28,
    'email'  => 'alice@exemple.fr'
];
echo $utilisateur['nom'];    // → Alice
echo $utilisateur['email'];  // → alice@exemple.fr

Les tableaux associatifs sont partout en PHP — les données de formulaires ($_POST), les sessions ($_SESSION), les résultats de base de données...

Fonctions utiles pour les tableaux

$fruits = ["pomme", "banane"];

// Compter
echo count($fruits);  // → 2

// Ajouter un élément
$fruits[] = "cerise";          // ajoute à la fin
array_push($fruits, "kiwi");   // idem

// Vérifier si une valeur existe
if (in_array("banane", $fruits)) {
    echo "Banane trouvée !";
}

// Parcourir avec foreach
foreach ($fruits as $fruit) {
    echo "<li>$fruit</li>";
}

// Parcourir un tableau associatif
foreach ($utilisateur as $cle => $valeur) {
    echo "$cle : $valeur <br>";
}

PHP variables: the $ sign

In PHP, all variables start with $. That's what immediately sets them apart from the rest of the code:

$name = "Alice";
$age = 28;
$height = 1.72;
$isStudent = false;
$address = null;

No need to declare the type — PHP figures it out automatically. This is called a dynamically typed language.

Data types

PHP has several main types:

$text = "Hello";           // string
$number = 42;              // int (integer)
$decimal = 3.14;           // float
$true = true;              // bool (boolean)
$nothing = null;           // null (no value)

To check a variable's type, use gettype() or var_dump():

var_dump($text);    // string(5) "Hello"
var_dump($number);  // int(42)
echo gettype($true); // boolean

var_dump() is your best debugging tool — it shows the type and the value.

Strings

PHP has two types of quotes with different behaviors:

$name = "Alice";

// Double quotes: variables are interpreted
echo "Hello $name";         // → Hello Alice

// Single quotes: everything is literal
echo 'Hello $name';         // → Hello $name

// Concatenation with dot (.)
echo "Hello " . $name . "!";  // → Hello Alice!

Simple rule: use double quotes when you have variables in the string, single quotes otherwise.

Indexed and associative arrays

PHP has two types of arrays:

// Indexed array (like a numbered list)
$fruits = ["apple", "banana", "cherry"];
echo $fruits[0];  // → apple
echo $fruits[2];  // → cherry

// Associative array (like a dictionary)
$user = [
    'name'  => 'Alice',
    'age'   => 28,
    'email' => 'alice@example.com'
];
echo $user['name'];   // → Alice
echo $user['email'];  // → alice@example.com

Associative arrays are everywhere in PHP — form data ($_POST), sessions ($_SESSION), database results...

Useful array functions

$fruits = ["apple", "banana"];

// Count
echo count($fruits);  // → 2

// Add an element
$fruits[] = "cherry";          // appends
array_push($fruits, "kiwi");   // same

// Check if a value exists
if (in_array("banana", $fruits)) {
    echo "Banana found!";
}

// Loop with foreach
foreach ($fruits as $fruit) {
    echo "<li>$fruit</li>";
}

// Loop through associative array
foreach ($user as $key => $value) {
    echo "$key: $value <br>";
}
PHP → Résultat HTML
Avec l'IA

Copiez ce prompt dans Claude ou ChatGPT :

Crée-moi un tableau associatif PHP représentant un produit (nom, prix, stock, catégorie) et affiche-le avec un foreach dans un tableau HTML. Explique chaque ligne.
Exercice : Trouvez le bug

L'IA a généré ce code, mais il y a une erreur. Le nom affiché devrait être « Alice », pas « $nom ». Corrigez les guillemets.

Corrigez le code
Quel préfixe marque une variable en PHP ?
Quelle est la différence entre "Bonjour $nom" et 'Bonjour $nom' ?
Comment accède-t-on à la valeur 'Alice' dans $user = ['nom' => 'Alice']; ?
Quelle fonction affiche le type ET la valeur d'une variable ?
Besoin d'un développeur pour votre projet ?

Réponse sous 24h — Sans engagement