Mission Carthage

Accueil › Cours › PHP : premiers scripts

PHP : echo, variables, conditions, boucles, tableaux et fonctions

Chapitre 30 · Bac SI

Écris des pages qui calculent côté serveur : echo, variables, conditions, boucles, tableaux et fonctions en PHP.

Les leçons de ce chapitre

  1. Une page PHP
  2. Conditions et boucles
  3. Tableaux et fonctions

Leçon 30.1 : Une page PHP

10 min

Une page .php est exécutée par le serveur avant d'être envoyée : le navigateur ne reçoit que le HTML produit, jamais le code PHP. Le code se place entre <?php et ?>, au milieu du HTML.

<?php
$prenom = "Rim";
$age = 17;
echo "<p>Bonjour " . $prenom . ", tu as " . $age . " ans.</p>";
echo "<p>L'an prochain : " . ($age + 1) . " ans.</p>";
?>

Les valeurs de l'adresse

Une page peut recevoir des valeurs dans son adresse : index.php?n=5&nom=Rim. PHP les range dans le tableau $_GET : $_GET["n"] vaut "5". Les exercices de ce chapitre reçoivent ainsi leurs données.

Attention : Un ; oublié donne une « Parse error » à la ligne suivante : regarde la fin de la ligne d'avant.

En PHP

Lance le site, puis clique sur le lien : la même page reçoit nom=Sami dans son adresse. Change le texte du echo.

<!DOCTYPE html>
<html lang="fr">
<head><meta charset="utf-8"><title>Bonjour</title></head>
<body>
<?php
$nom = $_GET["nom"] ?? "inconnu";
$annee = 2026;
echo "<h1>Bonjour $nom</h1>";
echo "<p>Nous sommes en " . $annee . ".</p>";
?>
<p><a href="index.php?nom=Sami">Dire bonjour à Sami</a></p>
</body>
</html>

Leçon 30.2 : Conditions et boucles

12 min

<?php
$moyenne = 13.5;
if ($moyenne >= 10) {
  echo "Admis";
} elseif ($moyenne >= 9) {
  echo "Rachat possible";
} else {
  echo "Refusé";
}
?>

Les boucles

<?php
for ($i = 1; $i <= 5; $i++) {
  echo $i . " ";
}
$n = 1;
while ($n < 100) {
  $n = $n * 2;
}
echo "<p>$n</p>";
?>

for répète un nombre connu de fois, while tant que la condition est vraie, do { } while (...); au moins une fois. Une boucle peut produire du HTML, par exemple les lignes <tr> d'un tableau.

Attention : if ($a = 5) donne la valeur 5 à $a et la condition est toujours vraie. Pour comparer, c'est ==.

En PHP

Lance le site : la boucle construit les lignes du tableau. Change la table de 7 en table de 9, puis ajoute une ligne de plus.

<!DOCTYPE html>
<html lang="fr">
<head><meta charset="utf-8"><title>Table</title><link rel="stylesheet" href="style.css"></head>
<body>
<h1>La table de 7</h1>
<table>
<?php
for ($i = 1; $i <= 5; $i++) {
  echo "<tr><td>7 x $i</td><td>" . (7 * $i) . "</td></tr>";
}
?>
</table>
</body>
</html>

Leçon 30.3 : Tableaux et fonctions

12 min

Les tableaux

<?php
$villes = ["Tunis", "Sfax", "Sousse"];
$villes[] = "Gabès";
echo count($villes) . " villes, la première est " . $villes[0];

$age = ["Rim" => 17, "Sami" => 18];
foreach ($age as $prenom => $a) {
  echo "<p>$prenom a $a ans</p>";
}
?>

Les fonctions

<?php
function carre($x) {
  return $x * $x;
}
echo carre(4);
?>

Astuce : explode(",", "12,15,9") coupe une chaîne en tableau ["12", "15", "9"]. number_format($x, 2) écrit un nombre avec 2 chiffres après la virgule.

En PHP

Lance le site. Ajoute une ville au tableau, puis ajoute une personne au tableau associatif.

<?php
$villes = ["Tunis", "Sfax", "Sousse"];
$villes[] = "Gabès";
echo "<p>" . count($villes) . " villes, la première est " . $villes[0] . "</p>";

$age = ["Rim" => 17, "Sami" => 18];
foreach ($age as $prenom => $a) {
  echo "<p>$prenom a $a ans</p>";
}
?>

S'entraîner gratuitement

Chaque leçon a 3 exercices gratuits avec indices pour appliquer ce chapitre avec Hannibot.

Ouvrir le chapitre dans Mission Carthage Essayer dans le compilateur en ligne

← Chapitre précédent : SQL : jointures, regroupements et sous-requêtes · Chapitre suivant : PHP : les formulaires →

Tous les chapitres · Voir les devoirs corrigés de 2ème TI

Cours écrit pour Mission Carthage d'après le programme officiel. Ton professeur reste la référence.