Une variables sont comme une boîte où vous pouvez stocker des informations, comme des nombres ou du texte, pour les utiliser plus tard dans votre programme.
Convention de nommage
Un nom de variable ne peut contenir que des caractères alphanumériques et des traits de soulignement (A-z, 0-9, et _). Les noms de variables en PHP sont sensibles à la casse, cela signifie que $a et $A sont deux variables différentes. Soyez donc prudent lors de la définition des noms de variables.
1
Les variables commencent toujours par un dollar
$
<?php $prenom = "Antoine"; $age = 19; $estAdulte = true; ?>
2
Les instructions php se termine toujours par un point-virgule
;
3
Les noms des variables ne doivent pas
- commencer par un chiffre
- contenir un – (moins)
- contenir un espace
Les variables sont susceptibles de changer de valeur au fil de l’execution d’un programme. Les variable sont un concept fondamental en programmation, car elles permettent de manipuler et de stocker des données de manière flexible.
Dans la première boite verte ci-dessus, vous pouvez identifier 3 types de variables différents :
1
Les variables string toujours entre guillemets
<?php $prenom = "Antoine"; ?>
2
Les variables numbers toujours sans guillemets
<?php $age = 19; ?>
3
Les variables boolean toujours true (1) / false (0)
<?php $estAdulte = true; ?>
La Concaténation
C’est l’action de mettre bout à bout au moins deux chaînes de caractères
Très pratique en php pour mettre bout à bout des contenus divers. En php on utilise le point (.) pour concaténer.
Exemple :
<?php $prenom = "Charles"; // stock le prénom dans une variable (string) $age = 23; // stock l'âge dans un variable (number) ?> <p>Bonjour <?php echo $prenom;?>,<br>Avez-vous <?php echo $age;?> ans ?</p> /* est similaire à */ <?php // N.B. les points pour mettre bout à bout echo '<p>Bonjour '.$prenom.',<br>Avez-vous '.$age.' ans ?</p>'; ?>
Exercices
Créer un fichier php, en haut du fichier déclarer 4 variables (nom prénom age lieu). Dans ce fichier, dans la partie html afficher un paragraphe avec la phrase « Salut, je m’appelle (nom + prénom), j’ai (age) ans et j’habite à (lieu)
ex 1 : Utiliser la contacténation !
ex 2 : faire un deuxième paragraphe et n’utiliser pas la concaténation
ex 3 : ajouter un troisième paragraphe en indiquant que l’année prochaine vous aurez (age+1) ans.
Opérateur et conditionneurs
Les opérateurs et conditionneurs permettent d’effectuer des tests d’une ou plusieurs valeurs.
En général (sauf pour les boolean qui sont implicites) les conditions contiennent des opérateurs
Liste des opérateurs à connaître
1 Affecter une valeur
= => affecte une valeur (ce qui est à gauche prend la valeur de ce qui est à droite ) ⚠ retourne toujours true.= => concatène une valeur (ce qui est à gauche = ancienne valeur concaténée avec la valeur de ce qui est à droite )
+= => addition et affecte une valeur (ce qui est à gauche = ancienne valeur + la valeur de ce qui est à droite )
-= => soustraction et affecte une valeur (ce qui est à gauche = ancienne valeur – la valeur de ce qui est à droite )
++ => addition et affecte +1 (ce qui est à gauche = ancienne valeur + 1 )
-- => soustraction et affecte -1 (ce qui est à gauche = ancienne valeur – 1 )
2 comparer 2 expressions
== => compare (ce qui est à gauche est-il égal à ce qui est à droite) – variante === compare aussi le type –
!= => compare (ce qui est à gauche n’est-il pas égal à ce qui est à droite)
< => plus petit que (ce qui est à gauche est-il inférieur à ce qui est à droite)
> => plus grand que (ce qui est à gauche est-il supérieur à ce qui est à droite)
<= => plus petit ou égal (ce qui est à gauche est-il inférieur ou égal à ce qui est à droite)
>= => plus grand que ou égal (ce qui est à gauche est-il supérieur ou égal à ce qui est à droite)
&& => ET (condition1 && condition2 && condition3)
|| => OU (condition1 || condition2 || condition3)
Conditionneurs
Utilisés avec la même syntaxe en Javascript et dans bien d’autres languages, les conditionneurs sont la clé de la programmation, ils permettent d’effectuer des tests et d’avoir des cheminements différents en fonction du résultat. Une condition entre parenthèse est toujours soit true (validée, vérifiée) ou false (invalide, fausse)

Syntaxe :
<?php
// pseudocode
/* si(condition)alors
code à executer si condition est valide
finDeSi
*/
$age = 18;
if($age == 18){
echo "Vous avez 18 ans";
}// <- fin du si
// pseudocode
/* SI(condition)ALORS
code à executer si condition est valide
FIN_DE_SI AUTREMENT (dans tous les autres cas)
code dans tous les autres cas
FIN_DE_AUTREMENT
*/
$richesse = 10000;
if($richesse < 5000){
echo "Vous avez moins de 3'000CHF";
}else{
echo "Vous avez plus de 5'000CHF.<br><strong>BRAVO</strong>";
}
// pseudocode
/* SI(condition1)ALORS
code à exécuter si condition1 est valide
FIN_DE_SI AUTREMENT_SI(condition2) (si condition2 valide, mais pas condition1)
code exécuté si condition2 est valide
FIN_DE_AUTREMENT_SI AUTREMENT
code exécuté si ni condition1 ni condition2 sont valide)
FIN_DE_AUTREMENT
*/
$anneeNaissance = 2006;
$age = date('Y') - $anneeNaissance;
if($age < 18){
$message = "mineur.<br>Apprendre c'est la vie";
}else if($age > 65){
$message = "retraité.<br>Profitez-bien";
}else{
$message = "en âge de <strong>travailler</strong> à ".$age." ans";
}
echo "<p>Vous êtes de ".$anneeNaissance."<br>Donc vous êtes ".$message."</p>";
Imbrication
Il est tout à fait possible d’écrire un if dans un if ou dans un else if ou dans un else
$anneeNaissance = 2008;
$metier='Apprenti';
$age = date('Y') - $anneeNaissance;
if($age < 18){
$message = "mineur.<br>Apprendre c'est la vie";
if($metier==='Apprenti'){
$message.="<br>L'apprentissage c'est top"; // ⚠ noté le .=
}// fin du si($metier)
}else if($age > 65){
$message = "retraité.<br>Profitez-bien";
}else{
$message = "en âge de <strong>travailler</strong> à ".$age." ans";
}
echo "<p>Vous êtes de ".$anneeNaissance."<br>Donc vous êtes ".$message."</p>";
Opérateurs logiques
ET logique = && si plusieurs conditions sont satisfaites
if($age>18 && $estConnecte && $nomUtilisateur==="Jacques"){
// > code à exécuter
}
OU logique = || si au moins une des conditions est validée
if($age>18 || $autorisationParents){ // j'en ai mis 2 mais il pourrait y en avoir +
// > code à exécuter
}
Exercices
- Ex_1 : faites un programme php qui teste le jour de la semaine (la fonction date et les formats permet de retourner soit le jour en anglais, soit un chiffre 0-6). Si c’est lundi affichez « Cours de WEB »
- Ex_2 : ajuster avec des
if/elseif/elseouswitchpour qu’il affiche un message différents chaque jours - Ex_3 : Faites une variable
$prixTotalPanieravec une valeur entre 50 et 130
si le prix est + grand ou égal à 120 afficher « réduction de 20% » - Changer la valeur de
$prixTotalPanieren mettant un chiffre aléatoire avec la fonction rand entre 20 et 130 - Ajuster l’exercice 3 en ajoutant un autrement si le prix est + grand que 100 réduction de 15%
- Ajuster l’exercice 4 en ajoutant un autrement si le prix est + grand que 80 réduction de 10%
- Ajuster l’exercice 5 en ajoutant un message dans tous les autres cas « Si vous achetez plus, vous bénéficierez d’une belle réduction jusqu’à 20% »;
- Ajuster l’exercice 6 en soustrayant les 10%/15%/20% du $prixTotalPanier et en affichant ce nouveau montant si il y a une réduction

Exercice 9
Afficher le billet en fonction des règles suivantes
• Moins de 4 ans → “Billet gratuit 🍼”
• Entre 4 et 12 ans → “Billet enfant 🎟️”
• Entre 13 et 59 ans :
• 1ère classe → “Billet premium 🚆✨”
• 2ème classe → “Billet standard 🚆”
• 60 ans et plus → “Billet senior 🎩”
Exercice 10
Un site web attribue des rôles différents aux utilisateurs en fonction de leur statut et de leur ancienneté.
Votre programme doit déterminer quel rôle est attribué à un utilisateur selon ces critères.
Règles d’attribution des rôles :
• Administrateur (statut = “admin”) → “Accès total 🛠️”
• Modérateur (statut = “moderateur”) →
• Moins d’1 an d’ancienneté → “Modérateur junior 🛡️”
• 1 an ou plus → “Modérateur confirmé 🔥”
• Membre (statut = “membre”) →
• Moins d’1 an d’ancienneté → “Nouveau membre 👤”
• 1 an ou plus → “Membre actif ⭐”
• Visiteur (statut = “visiteur”) → “Accès limité 🔒”
$status= array('admin','moderateur','membre','visiteur');
// random inscription date
$userInscrDate = date('Ymd',rand(2010,2025),rand(1,12),rand(1,31));
$userStatus = $status[rand(0,3)];