Académique Documents
Professionnel Documents
Culture Documents
Développement Web
TD 5 - PHP
1 Manipulation de tableaux
On considère qu’on dispose d’une variable $chaine (qui est une chaı̂ne de caractères) avec un
contenu du type "Guillaume 32 Sébastien 37 Vincent 15 Agathe 21" représentant le prénom et
l’âge de personnes. Le but de l’exercice sera de traiter cette chaı̂ne puis de l’afficher sous une forme par-
ticulière dans une page PHP. On dispose pour cela de la fonction explode("separateur",$chaine)
qui découpe une chaı̂ne selon un séparateur et renvoie le résultat sous forme d’un tableau (avec dans
chaque case du tableau un élément de la chaı̂ne).
1.1 Version 1
1. Écrire une fonction decoupeEn2Tableaux($chaine) qui, étant donnée une chaı̂ne de caractères
de la forme indiquée précédemment, retourne 2 tableaux. Le premier contient uniquement les
prénoms, et le second uniquement les âges. Bien sûr l’ordre des prénoms et âges doit être respecté,
pour ne pas perdre les correspondances prénom/âge.
2. Écrire une fonction afficheListeOrdonnee($tab1, $tab2) qui, étant donnés 2 tableaux (le
premier contenant les prénoms et le second les âges), affiche l’ensemble sous forme de liste
ordonnée. Sur l’exemple, on doit obtenir :
1. Guillaume a 32 ans
2. Sébastien a 37 ans
3. Vincent a 15 ans
4. Agathe a 21 ans
1.2 Version 2
1. Écrire une fonction decoupeEnTableauAssociatif($chaine) qui, étant donnée une chaı̂ne de
caractères de la forme indiquée précédemment, retourne 1 tableau associatif. Les clés seront les
prénoms, et les valeurs les âges (ceci signifie qu’on considère qu’il n’y aura pas 2 fois le même
prénom).
2. Écrire une fonction afficheListeNonOrdonnee($tab) qui, étant donné 1 tableau associatif
(la clé contenant les prénoms et la valeur les âges), affiche l’ensemble sous forme de liste non
ordonnée. Sur l’exemple, on doit obtenir :
• Guillaume a 32 ans
• Sébastien a 37 ans
• Vincent a 15 ans
• Agathe a 21 ans
1.3 Affichage
Écrire le code PHP de la partie <body> de la page. Il consiste à initialiser la chaı̂ne et appeler
correctement les fonctions.
1
2 Tri de tableaux
En PHP, il existe des ordres de tri déjà codés, mais on peut aussi créer ses propres fonctions
de tri. Une fonction de tri prend 2 paramètres, qui sont les 2 éléments à comparer (des entiers, des
caractères. . .). Elle retourne 0 si les éléments sont égaux, -1 si le premier élément est plus petit (selon
l’ordre choisi) que le second et 1 sinon. Par exemple, une fonction qui trierait des entiers par ordre
décroissant serait :
function compDecroissant($a,$b){
if($a==$b){
return 0;
}
else{
if($a>$b){
return -1;
}
else{
return 1;
}
}
}
Ensuite, si l’on veut trier un tableau sur ses valeurs selon l’ordre que l’on vient de définir, il suffit
de faire usort($tab,"compDecroissant");.
Si le tri doit être fait sur les clés, alors on appelle uksort($tab,"compDecroissant");