Avant d'écrire ses propres fonctions de traitement, il est
utile de jeter un oeil sur la documentation PHP car souvent la
fonction désirée existe déjà en natif. Quelques exemples.
Somme des valeurs d'un tableau
La fonction array_sum()
additionne les valeurs contenues dans un tableau à indices numériques ou
associatif.
Appliquer une fonction à tous les éléments d'un tableau
La fonction array_walk()
permet d'appliquer une fonction utilisateur à tous les éléments d'un
tableau. array_walk()
accepte deux ou trois arguments :
- le tableau sur lequel passer la fonction
- le nom de la fonction à appliquer, sous la forme d'une
chaîne de caractères,
- un argument à passer éventuellement à la fonction à
appliquer.
La fonction à appliquer :
- ne peut pas être une fonction standard PHP, mais
obligatoirement une fonction définie par le développeur,
- reçoit automatiquement 2 paramètres : la valeur et la clé
de l'élément,
- reçoit éventuellement un paramètre supplémentaire libre.
L'exemple suivant produit l'affichage d'un tableau sous la forme
d'une table HTML. Chaque ligne de la table HTML correspond à un
élément du tableau et la mise en forme est faite simplement avec les
tags tr et td dans la fonction tableHTML().
Ce qui peut être intéressant c'est de faire un traitement sur tous
les éléments d'un tableau et que le résultat du traitement remplace
l'élément original dans le tableau. Pour réaliser cela, il faut
utiliser le passage d'argument par référence (avec le symbole &) dans la fonction de traitement.
Dans l'exemple suivant un tableau stocke les notes
d'étudiants. On applique à ce tableau une fonction qui calcule la
moyenne de chaque étudiant, et remplace les notes par cette moyenne.
Mélanger un tableau
La fonction shuffle()
est un moyen très pratique pour mélanger les éléments d'un tableau.
Toutes les clés, numériques et alphabétiques, sont remplacées par
des entiers consécutifs commençant à 0. Un tableau associatif sur
lequel on applique la fonction shuffle()
devient donc un tableau à indices numériques et on perd les clés initiales.
Retourner un tableau
La fonction array_reverse()
retourne un tableau : le premier élément devient le dernier, le
second devient l'avant-dernier, etc. Les clés numériques sont
renumérotées en commençant à 0, les clés alphabétiques ne sont pas
changées.