Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/12/2010, 15h57   #1
Nouveau Membre du Club
 
Inscription : août 2009
Messages : 223
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 223
Points : 29
Points : 29
Par défaut boucles foreach imbriqué (tableau 3 colonnes)

Bonjour,

Je dispose de 3 array.

Pour faire simple voici a quoi il ressemble:

Code :
1
2
3
$array1 = array ("1","2","3")
$array2 = array ("a","b","c")
$array1 = array ("A","B","C")
Je souhaiterai mettre en forme ces données (3 array) sous forme de tableau de 3 colonnes à savoir:

1 a A
2 b B
3 c C

Comment faire pour remplir les colonnes, j'ai testé avec 3 boucles foreach imbriqué mais ca me donne n'importe quoi.

Avez vous une idée?

Merci par avance
claire34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 16h02   #2
Membre éprouvé
 
Avatar de guigo
 
Inscription : juin 2006
Messages : 606
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 606
Points : 479
Points : 479
Salut,
Si tes tableaux sont de meme grandeurs :

Code :
1
2
3
4
5
 
 
 
foreach($Tab1 as $K=>$V)
   $NewT[$K]=array($Tab1[$K], $Tab2[$K], $Tab[$K]);
guigo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 16h10   #3
Nouveau Membre du Club
 
Inscription : août 2009
Messages : 223
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 223
Points : 29
Points : 29
Hello et merci tout d'abord.

Oui ils sont tous les trois de même grandeurs.

Par contre pour l'affichage des 3 colonnes je procède comment ?

Code :
1
2
3
4
5
<tr>
    <td></td>
    <td></td>
    <td></td>
  </tr>
claire34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 17h34   #4
Membre éprouvé
 
Avatar de guigo
 
Inscription : juin 2006
Messages : 606
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 606
Points : 479
Points : 479
Code :
1
2
3
 
foreach($NewT as $K=>$V){
     echo "couple Numero : ".$K."--> (".$V[0].",".$V[1].",".$V[2].")<br/>";
code non testé... Dis moi si tu as un souchi
guigo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 18h07   #5
Nouveau Membre du Club
 
Inscription : août 2009
Messages : 223
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 223
Points : 29
Points : 29
Euh j'ai déjà un soucis lol,

Ca ne fonctionne pas
Et j'aimerai incorpérer les données des arrays dans un tableau à 3 colonnes.
claire34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 18h13   #6
Membre éprouvé
 
Avatar de guigo
 
Inscription : juin 2006
Messages : 606
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 606
Points : 479
Points : 479
Si $NewT exist alors a priori le code que je t'ais passer dois fonctionner...
Precise les erreurs sinon ....

Code :
1
2
3
4
5
6
 
echo "<table>";
foreach($NewT as $K=>$V){
     echo "<tr><td>couple Numero : ".$K."</td><td>".$V[0]."</td><td>".$V[1]."</td><td>".$V[2]."</td></tr>";
 
echo "</table>";
euh.... c'est ca que tu appelle un tableau ?
guigo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 18h23   #7
Nouveau Membre du Club
 
Inscription : août 2009
Messages : 223
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 223
Points : 29
Points : 29
Oui tout à fait c'est ca que j'appelle un tableau.

Je n'ai pas d'erreur: ça me donne pour le moment:

Code :
couple Numero : 	Array	Array
Il y a donc un problème de déclaration.
Voici mon code:

Code :
1
2
3
4
5
6
7
8
9
10
 $Tab1[$K] = array ('a', 'b', 'c');
$Tab2[$K] = array ('1', '2', '3');
$NewT[$K]=array($Tab1[$K], $Tab2[$K]);
 
 
echo "<table>";
foreach($NewT as $K=>$V){
     echo "<tr><td>couple Numero : ".$K."</td><td>".$V[0]."</td><td>".$V[1]."</td></tr>";}
 	echo "ici <br/>";
echo "</table>";
Voili voilou
claire34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 18h40   #8
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 656
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 656
Points : 5 359
Points : 5 359
Si on récapitule, ça donne quelque chose comme ça :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//tableaux de départ :
$array1 = array ("1","2","3");
$array2 = array ("a","b","c");
$array3 = array ("A","B","C");
 
//construction d'un tableau récapitulatif (en supposant que tous les tableaux font la même taille)
$n = count($array1); //taille du tableau
$tableau = array();
for($i=0; $i<$n; $i++)
{
	$tableau[$i] = array( $array1[$i], $array2[$i], $array3[$i]);
}
 
//lecture du nouveau tableau dans une table html 
echo '<table>';
foreach ($tableau as $ligne)
{
	echo '<tr>';
	foreach($ligne as $case)
	{
		echo '<td>'.$case.'</td>';
	}
	echo '</tr>';
}
echo '</table>';
ou si le tableau de stockage ne nous intéresse pas :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//tableaux de départ :
$array1 = array ("1","2","3");
$array2 = array ("a","b","c");
$array3 = array ("A","B","C");
 
//en supposant que tous les tableaux font la même taille
$n = count($array1); //taille du tableau
 
echo '<table>';
for($i=0; $i<$n; $i++)
{
	echo '<tr>';
	echo '<td>'.$array1[$i].'</td>';
	echo '<td>'.$array2[$i].'</td>';
	echo '<td>'.$array3[$i].'</td>';
	echo '</tr>';
}
echo '</table>';
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 18h46   #9
Nouveau Membre du Club
 
Inscription : août 2009
Messages : 223
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 223
Points : 29
Points : 29
Merci beaucoup pour votre aide j'ai compris ce bout de code

Bonne soirée
claire34 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h19.


 
 
 
 
Partenaires

Hébergement Web