8722 sujets

Développement web côté serveur, CMS

Salut a tous,
j'ai un petit blem pour afficher les résultat d'un foreach multidimensionnel
array bob affiche :
Array (
[0] => Array ( [0] => bleu.html [1] =>icon [2] => Accueil1 [3] => 1 )
[1] => Array ( [0] => bleu.html [1] =>icon [2] => Accueil2 [3] => 1 )
[2] => Array ( [0] => bleu.html [1] =>icon [2] => Actualité1 [3] => 2 )
[3] => Array ( [0] => bleu.html [1] =>icon [2] => Actualité2 [3] => 2 )
[4] => Array ( [0] => bleu.html [1] =>icon [2] => Galerie1 [3] => 8 )
[5] => Array ( [0] => bleu.html [1] =>icon [2] => Galerie2 [3] => 8 )
[6] => Array ( [0] => bleu.html [1] =>icon [2] => Contact1 [3] => 9 )
)
ensuite mon code :

	foreach($bob AS $valeur1)
	{
		if ($valeur1[3]==$id){
			foreach ($valeur1 AS $valeur2)
			{
			 echo " Valeur: " . $valeur2 . "<br />\n";
			//J'aurai besoin de ressortir les valeurs sous cette forme '<ul><li><a href="'.$valeur2.'">'.$valeur2.' '.$valeur2.'</a></li></ul>';
			}
		}							
	}	


Y a t'il une fonction ou un truc particulier pour arriver à ce résultat
Comment dois je procéder pour que cela fonctionne.
Merci d'avance de votre aide.
Cdt
Je ne ferais qu'une seule boucle perso ^^

 echo "<ul>";
foreach($bob AS $v)
{
	if ($v[3]==$id)
	{
		echo '<li><a href="'.$v[0].'">'.$v[1].' '.$v[2].'</a></li>';
	}							
}
echo "</ul>";	


Personnellement, je n'utilise le foreach que quand j'ai un intérêt à parcourir le tableau; et les boucles sur les tableaux que quand j'ignore quels éléments je dois utiliser. Cela se justifie donc parfaitement dans la première boucle, mais dans la seconde, tu sais quels sont les éléments que tu vas utiliser et où tu dois les mettre, donc aucun intérêt de boucler, autant les appeler directement, comme tu le fais pour tester l'id.
Modifié par Lothindil (01 Aug 2014 - 10:07)
Effectivement tu as raison l’abus de foreach est mauvais pour la santé Smiley smile Smiley smile
ca marche nickel
merci de ton aide Lothindil