Aller au contenu

Exercices PHP

But. Afficher une courte fiche de commerce en combinant texte, variables et concaténation.

  1. Créez fiche.php dans htdocs. Déclarez d’abord les données dans des variables :

    <?php
    $businessName = "Dépanneur Chez Ti-Jean";
    $city = "Montréal";
    $openHour = 7;
    ?>
  2. Affichez une phrase en concaténant les variables avec l’opérateur . :

    <?php
    echo "Le commerce " . $businessName . " est situé à " . $city . ".";
    ?>
  3. PHP interpole aussi les variables directement dans une chaîne à guillemets doubles. Cette version est équivalente et plus lisible :

    <?php
    echo "Ouvre à {$openHour} h.";
    ?>
  4. Solution complète :

    <?php
    $businessName = "Dépanneur Chez Ti-Jean";
    $city = "Montréal";
    $openHour = 7;
    echo "Le commerce {$businessName} est situé à {$city}. ";
    echo "Il ouvre à {$openHour} h.";
    ?>

But. Calculer le prix total d’un article en ajoutant les taxes québécoises.

Déclarez un prix avant taxes dans une variable. Calculez la TPS (5 %) et la TVQ (9,975 %), puis affichez le sous-total, chaque taxe et le total, arrondis à deux décimales avec round(...) ou number_format(...).

But. Normaliser le nom d’un commerce saisi de façon irrégulière.

À partir de la variable $raw = " cabane à sucre l'érablière dorée ", produisez : le nom sans espaces superflus, le nom en majuscules, et sa longueur en caractères.

But. Vérifier si un client peut acheter de l’alcool (18 ans et plus au Québec).

À partir d’une variable $age, affichez « Vente autorisée » si l’âge est suffisant, sinon « Vente refusée ». Ajoutez un troisième cas pour un âge invalide (négatif).

But. Afficher un message de bienvenue robuste même si le prénom est absent.

À partir d’une variable $firstName qui peut valoir null, affichez « Bonjour, {prénom} » ou « Bonjour, cliente ou client » si le prénom n’est pas fourni.

But. Produire les lignes d’une facture.

Avec une boucle for, affichez un tableau HTML de 5 lignes numérotées (« Ligne 1 », « Ligne 2 », etc.). L’objectif est de générer du HTML par programmation, pas de l’écrire à la main.

But. Afficher le menu d’une poutinerie.

Déclarez un tableau associatif $menu reliant un nom de plat à son prix (au moins quatre entrées). Parcourez-le avec foreach pour afficher une liste <ul> au format « Plat : 9,50 $ ».

But. Manipuler un tableau de produits.

<?php
$products = [
["name" => "Café", "category" => "boisson", "price" => 3.50],
["name" => "Thé", "category" => "boisson", "price" => 2.75],
["name" => "Muffin", "category" => "nourriture", "price" => 4.25],
["name" => "Sandwich", "category" => "nourriture", "price" => 8.95],
];
  1. Affichez tous les produits dans une liste HTML.
  2. Créez un tableau $cheapProducts contenant seulement les produits de moins de 5 $.
  3. Calculez le prix moyen des produits.
  4. Affichez les résultats dans la page.

But. Lire un script avec erreurs et le corriger.

<?php
$products = [
["name" => "Café", "price" => 3.50],
["name" => "Thé", "price" => 2.75]
]
foreach ($products as $product) {
echo "<p>" . $product["name"] . " : " . $product["prix"] . "$</p>";
}
echo "Nombre de produits : " . count($product);
?>

But. Générer une vraie page dynamique.

À partir d’un tableau de produits, générez une page HTML valide qui affiche :

  1. un titre ;
  2. un tableau HTML contenant le nom, la catégorie et le prix de chaque produit ;
  3. le nombre total de produits ;
  4. la liste des produits à moins de 5 $ ;
  5. les produits triés du moins cher au plus cher.
<?php
$products = [
["name" => "Café", "category" => "boisson", "price" => 3.50],
["name" => "Thé", "category" => "boisson", "price" => 2.75],
["name" => "Muffin", "category" => "nourriture", "price" => 4.25],
["name" => "Sandwich", "category" => "nourriture", "price" => 8.95],
["name" => "Salade", "category" => "nourriture", "price" => 7.50],
];
  • utilisez number_format pour afficher les prix ;
  • utilisez htmlspecialchars pour afficher les textes dans le HTML.