Gaston est vexé : le sommaire compte ses articles, mais ne dit pas qui les a écrits. Madame Lou ajoute donc les signatures : « Dans ce numéro : 4 articles et 1 petite annonce, signés Madame Lou, Gaston, Odette. » Gaston a écrit deux articles, mais il ne signe qu'une fois.
Votre mission
- Dans
Sommaire::versHtml(), à partir des articles gardés pararray_filter()(une annonce n'a pas d'auteur), faites la liste des noms ($article->auteur->nom) avecarray_map(). - Retirez les doublons avec
array_unique(). - Ajoutez à la phrase, avant le point final,
, signéspuis les noms séparés par,, assemblés avecimplode()et échappés parhtmlspecialchars().
Rappel
array_map(fn ($x) => …, $tableau)renvoie un tableau des résultats de la fonction, un par élément. Attention, le tableau vient en second ici, à l'inverse d'array_filter().array_unique($tableau)retire les doublons.implode(', ', $tableau)colle les éléments en une seule chaîne, séparés par,.
Ces fonctions s'enchaînent : array_unique(array_map(…, $articles)) transforme d'abord, puis dédoublonne.