8791 sujets

Développement web côté serveur, CMS

Hello !
Je dois faire un petit script qui récupère mes 19 images (01.png à 20.png) et les associe à un lien et un nom.
Mais je ne comprend pas très bien comment on fait pour faire un array où une clé a plusieurs données enregistrées... en gros, il me faudrait donc

KEY - IDIMAGE - NOM - LIEN
key0 : 1 - nom1 - lien1
key1 : 2 - nom2 - lien2
key2 : 3 - nom3 - lien3

Déjà ça, je comprend pas trop...

Ensuite, je voudrais "shuffler" mon array (désordonner les éléments), ça je sais qu'on sait le faire; et puis enfin faire une boucle pour afficher tous les éléments. Là je sèche à nouveau ! foreach ? for ? etc etc...

Merci de votre patiente !
Modérateur
Salut gordie, Smiley smile

A une clé d'un tableau, tu peux associer un tableau.
Pour désordonner les éléments du tableau, tu dois pouvoir te servir des fonctions shuffle ou array_rand.
Et pour le parcours du tableau, un foreach est le plus adapté.
Bon, je suis en pleine recherche mais je bloque ici :

$sponsorsFR = array (
array('01','nom1','url1'),
array('02','nom2','url2'),
array('03','nom3','url3')
);

foreach( $sponsors as $key => $value ) {
foreach( $value as $valeur ) {
echo '<a href="'.$valeur[2].'"><img src="'.$valeur[0].'" alt="'.$valeur[1].'"></a>';
}
}
?>

mais ça me retourne des trucs bizarres (genre :

<a href="t"><img src="h.png" alt=""></a>

)
Bonjour,

ce qui t'arrive est normal:
$sponsorsFR = array (
  array('01','nom1','url1'),
  array('02','nom2','url2'),
  array('03','nom3','url3')
);

foreach( $sponsors as $key => $value ) {
 [i]// lors du premier passage
  // $key = 0 et $value = array('01','nom1','url1')[/i]
  foreach( $value as $valeur ) {
   [i]// lors du premier passage
    // $valeur = '01'
    // de fait $valeur[0] = 1er caractère de $valeur
    // $valeur[1] = 2eme caractère
    // etc[/i]
    echo '<a href="'.$valeur[2].'"><img src="'.$valeur[0].'" alt="'.$valeur[1].'"></a>';
  }
}

Tu fais donc un foreach de trop.

Pour ce qui est du mélange voir shuffle().


PS: par contre si tu peux mettre ton code entre balises apropriées ce serait plus lisible Smiley murf