Semaine 1 - Jour 2 : Variables et Types de Données

Les Variables en PHP

Une variable est un conteneur qui stocke une valeur. En PHP, toutes les variables commencent par le symbole $ (dollar).

Règles de nommage :
• Commence toujours par $
• Peut contenir des lettres, chiffres et underscore (_)
• Ne peut PAS commencer par un chiffre
• Sensible à la casse : $age$Age
• Pas d'espaces ni de caractères spéciaux

1. Déclaration de Variables

Pas besoin de déclarer le type, PHP le détecte automatiquement :

<?php
// Déclaration simple
$prenom = "Marie";
$age = 25;
$taille = 1.75;
$estEtudiant = true;

// Afficher les variables
echo $prenom; // Marie
echo $age; // 25
?>
Conventions :
• camelCase : $nomComplet
• snake_case : $nom_complet
Choisissez un style et restez cohérent !

2. Les Types de Données

PHP a 8 types principaux :

<?php
// 1. String (chaîne de caractères)
$texte = "Bonjour";

// 2. Integer (nombre entier)
$nombre = 42;

// 3. Float (nombre décimal)
$prix = 19.99;

// 4. Boolean (vrai/faux)
$actif = true;

// 5. Array (tableau)
$fruits = ["pomme", "banane"];

// 6. NULL (valeur nulle)
$vide = null;
?>

3. gettype() et var_dump()

Pour connaître le type d'une variable :

<?php
$nom = "Alice";
$age = 30;
$actif = true;

// gettype() retourne le type
echo gettype($nom); // string
echo gettype($age); // integer
echo gettype($actif); // boolean

// var_dump() affiche type + valeur
var_dump($nom); // string(5) "Alice"
var_dump($age); // int(30)

// print_r() affiche de façon lisible
print_r($nom); // Alice
?>
Résultat attendu :
string
integer
boolean
string(5) "Alice"
int(30)
Alice

4. Conversion de Types (Casting)

Forcer la conversion d'un type vers un autre :

<?php
$nombre = "42"; // string
$entier = (int)$nombre; // int
var_dump($entier); // int(42)

$prix = 19.99;
$texte = (string)$prix; // "19.99"
var_dump($texte); // string(5) "19.99"

$valeur = 0;
$bool = (bool)$valeur; // false
var_dump($bool); // bool(false)

// Fonctions de conversion
$x = intval("123"); // 123
$y = floatval("12.5"); // 12.5
$z = strval(456); // "456"
?>

Exemples Pratiques

<?php
// Exemple 1 : Informations utilisateur
$prenom = "Thomas";
$nom = "Dupont";
$age = 28;
$ville = "Paris";

echo "Bonjour " . $prenom . " " . $nom;
echo "Vous avez " . $age . " ans et habitez à " . $ville;

// Exemple 2 : Calcul avec variables
$prixHT = 100;
$tauxTVA = 0.20; // 20%
$prixTTC = $prixHT * (1 + $tauxTVA);
echo "Prix TTC : " . $prixTTC . "€"; // 120€

// Exemple 3 : Vérification de type
$donnee = "123";
echo is_string($donnee) ? "C'est une chaîne" : "Pas une chaîne";
echo is_numeric($donnee) ? "C'est numérique" : "Pas numérique";

// Exemple 4 : Constantes (valeurs non modifiables)
define("SITE_NAME", "Mon Site");
echo SITE_NAME; // Mon Site
?>
Résultat attendu :
Bonjour Thomas Dupont
Vous avez 28 ans et habitez à Paris
Prix TTC : 120€
C'est une chaîne
C'est numérique
Mon Site

Erreurs Courantes

// ❌ ERREUR : Oublier le $ devant la variable
nom = "Jean"; // Parse error!

// ✅ CORRECT
$nom = "Jean";

// ❌ ERREUR : Utiliser une variable non définie
echo $variableInexistante; // Warning!

// ✅ CORRECT : Vérifier si la variable existe
if (isset($maVariable)) {
    echo $maVariable;
}

// ❌ ERREUR : Confondre = (assignation) et == (comparaison)
if ($age = 18) { // Assigne 18 à $age !

// ✅ CORRECT
if ($age == 18) { // Compare $age avec 18
Froggiesplaining :


Objectifs de ce cours :
✅ Comprendre ce qu'est une variable et comment la déclarer
✅ Connaître les différents types de données en PHP
✅ Utiliser gettype(), var_dump() et print_r() pour déboguer
✅ Savoir convertir un type en un autre (casting)
✅ Respecter les conventions de nommage

Points clés à retenir :
• Toutes les variables commencent par $
• PHP est un langage à typage dynamique (détecte automatiquement le type)
• Les 8 types principaux : string, int, float, bool, array, object, resource, null
var_dump() montre le type ET la valeur (parfait pour déboguer)
gettype() retourne uniquement le nom du type
Casting : (int), (string), (float), (bool) ou fonctions intval(), strval(), etc.
• Les constantes se déclarent avec define() et ne changent jamais
• Attention à la casse : $Age$age

Exercice pratique :
1. Créez un fichier variables.php
2. Déclarez ces variables :
$prenom = "Votre prénom";
$age = votre_age;
$taille = votre_taille_en_metres;
$aimePhp = true;
3. Affichez-les avec echo
4. Utilisez var_dump() sur chaque variable
5. Convertissez $age en string : $ageTexte = (string)$age;
6. Vérifiez le type avec gettype($ageTexte);

Froggie explain

GitHub - eCrea