Introduction à PHP

Licence Informatique 2ème année

Youssef Chahir - Alexandre Niveau - Jean-Marc Lecarpentier

 

Introduction à PHP

Notes de cours

  • Introduction à PHP
    • Syntaxe générale : variables, structures de contrôle, fonctions…
    • Tableaux associatifs

Travail personnel

Objectifs

Dans ce TP on voit les bases du langage PHP, en l'utilisant depuis un terminal.

Exercice 1 — Boucles, tableaux et fonctions en PHP #

Cet exercice a pour objectif de vous faire manipuler la syntaxe de base de PHP.

  1. Créer un script PHP test.php qui affiche tous les jours de la semaine de Dimanche à Samedi, avec un saut de ligne après chaque jour.
  2. Dans un script PHP remplir_tab.php , mettre dans une variable $tab un tableau (array) vide, et le remplir avec 100 valeurs en utilisant une boucle for, de façon à ce que la case d'indice i contienne la valeur 3×i+2.
    Afficher le contenu de $tab en utilisant une boucle foreach.
  3. Dans un script PHP afficher_triangle.php, créer une fonction afficherTriangle(string $motif, int $hauteur): void prenant en paramètres un motif de type string et une hauteur de type entier puis affiche un triangle avec ce motif. Le motif peut être par ex. '*' ou '$'.
  4. Dans un script PHP, moyenne.php, créer une fonction calculerMoyenne(array $tableau): float prenant en paramètre un tableau de nombres et renvoyant la moyenne arithmétique de ces nombres. Tester par exemple sur le tableau $tab = [5, 10, 15, 20, 25].
  5. Dans un script PHP, nommé population.php, créez un tableau associatif nommé $pays_population. Ce tableau indique les populations de différents pays, où les clés sont les noms des pays et les valeurs sont des entiers.
    NB : Les pays à considérer sont les suivants :
    'France' : 67595000,
    'Suède' : 9998000,
    'Suisse' : 8417000,
    'Kosovo' : 1820631,
    'Malte' : 434403,
    'Mexique' : 122273500,
    'Allemagne' : 82800000,
    1. À l'aide d'une boucle foreach, affichez la population de chaque pays sous la forme « La population de pays est de x habitants. »
    2. Écrire une fonction nommée minimum(array $tableau): int prenant en paramètre un tableau, qui cherche la plus petite valeur du tableau et la renvoie. Testez la fonction avec votre tableau $pays_population.
    3. Écrire une fonction minimumAvecClef(array $tableau, bool $return_key = false): array où l'on ajoute un paramètre optionnel booléen $return_key qui prend par défaut la valeur false. Si ce paramètre est mis à true, la fonction doit renvoyer un tableau associatif : ['key' => $key, 'value' => $value]$value est la plus petite valeur et $key sa clé correspondante. Sinon, la fonction renvoie un tableau associatif : ['value' => $value] sans la case 'key' => $key. Testez la fonction avec votre tableau $pays_population pour obtenir le pays le moins peuplé.
    4. Écrire une fonction nommée minEtMax(array $tableau): array qui renvoie un tableau de taille 2 contenant la valeur la plus petite et la valeur la plus grande du tableau donné en paramètre. Testez la fonction avec votre tableau $pays_population.
    Fonctions de tri de tableaux
    1. Afficher le tableau avec chacune des trois fonctions d'affichage debug : print_r, var_dump, var_export. Choisissez-en une pour la suite.
    2. Appeler les fonctions suivantes sur le tableau, et regarder l'effet grâce à une des fonctions d'affichage :
      • asort() et son inverse arsort()
      • ksort() et son inverse krsort()
      • sort() et son inverse rsort()
      • shuffle()
      Si vous êtes perdu·e : plus d'infos sur les fonctions de tri de tableaux

Exercice 2 — Chaînes de caractères en PHP #

La fonction readline est l'équivalent de input en Python : elle attend que l'utilisateur/trice tape une ligne de texte dans le terminal, et retourne le résultat sous forme de chaîne de caractères.

  1. Écrire un script PHP qui effectue les opération suivantes :
    • Saisit une chaine de caractères.
    • Vérifie si la chaine est un palindrome (Un palindrome est une séquence de caractères qui se lit de la même manière de gauche à droite et de droite à gauche).
    • Affiche le nombre de caractères de la chaîne en considérant les caractères spéciaux et émoticônes tels que 🐳 comme un seul caractère.
  2. Modifier le script pour :
    • Trouver la première occurrence du caractère «a» dans la chaîne et afficher un message indiquant la présence ou l'absence du caractère «a» dans la chaîne, en précisant la position s'il est trouvé.
      exemple: "Vous avez un a en position 12 dans votre chaine."ou "Vous n'avez pas de a dans votre chaine."
      Assurer le bon fonctionnement même si la chaîne commence par une majuscule ou contient des accents.
Optionnel:
La fonction explode découpe une chaîne de caractères selon un délimiteur donné et renvoie les morceaux dans un tableau. On peut demander à l'utilisateur/trice de rentrer une phrase, et en utilisant cette fonction, affichez uniquement les mots de la phrase qui contiennet deux lettres 'a'.
La fonction implode fait l'inverse de la précédente : elle s'applique à un tableau contenant des chaînes, et renvoie le résultat de la concaténation de ces chaînes, séparées par un séparateur donné en paramètre. (L'équivalent en Python est la méthode str.join.). En utilisant notamment cette fonction, affichez la phrase rentrée par l'utilisateur/trice, mais avec les mots rangés dans l'ordre alphabétique.