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.
- 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. - 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 bouclefor
, de façon à ce que la case d'indice i contienne la valeur 3×i+2.
Afficher le contenu de$tab
en utilisant une boucleforeach
. - Dans un script PHP
afficher_triangle.php
, créer une fonctionafficherTriangle(string $motif, int $hauteur): void
prenant en paramètres un motif de typestring
et une hauteur de typeentier
puis affiche un triangle avec ce motif. Le motif peut être par ex.'*'
ou'$'
. - Dans un script PHP,
moyenne.php
, créer une fonctioncalculerMoyenne(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]
. - 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,
- À l'aide d'une boucle
foreach
, affichez la population de chaque pays sous la forme « La population de pays est de x habitants. » - É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
. - É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 valeurfalse
. Si ce paramètre est mis àtrue
, la fonction doit renvoyer un tableau associatif :['key' => $key, 'value' => $value]
où$value
est la plus petite valeur et$key
sa clé correspondante. Sinon, la fonction renvoie un tableau associatif :['value' => $value]
sansla case 'key' => $key
. Testez la fonction avec votre tableau$pays_population
pour obtenir le pays le moins peuplé. - É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
. - Afficher le tableau avec chacune des trois fonctions d'affichage debug :
print_r
,var_dump
,var_export
. Choisissez-en une pour la suite. - 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()
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.
- É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.
- 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.
- 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é.
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.