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 09/03/2011, 17h29   #1
Invité régulier
 
Romain
Inscription : septembre 2010
Messages : 15
Détails du profil
Informations personnelles :
Nom : Romain

Informations forums :
Inscription : septembre 2010
Messages : 15
Points : 5
Points : 5
Par défaut Transformation d'un array multidimensions en un array "unidimension"

Bonjour à tous,

Je suis confronté à un array qui me donne beaucoup de fil à retordre...

Dans un array, j'ai stocké 2 élements, à chacun de ses 2 éléments, sont associé 2 paramètres et leur valeur.


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Array ( 
	[0] => Array ( 
			[titre] => element1
			[cle] => parametre1
                        [valeur] => valeur-parametre1
	) [1] => Array ( 
			[titre] => element1
			[cle] => parametre2
                        [valeur] => valeur-parametre2
	) [2] => Array ( 
			[titre] => element2
			[cle] => parametre1
                        [valeur] => valeur-parametre1
	) [3] => Array ( 
			[titre] => element2
			[cle] => parametre2
                        [valeur] => valeur-parametre2
	)

J'essaye d'obtenir un array final qui ressemblerai à :


Code :
1
2
3
4
5
6
7
8
9
10
11
12

Array ( 
	[0] => Array ( 
			[titre] => element1
			[parametre1] => valeur-parametre1
			[parametre2] => valeur-parametre2
	) [1] => Array ( 
			[titre] => element2
			[parametre1] => valeur-parametre1
			[parametre2] => valeur-parametre2
	)
Donc pour résumer une fusion en conservant les données des "doublons".

Je me perd entre les foreach et les for... multipliant les boucles... j'ai d'ailleurs perdu mon cerveau dans une de ses boucles !

D'avance je vous remercie de votre aide.
rom1dvp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 17h40   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 465
Points : 8 465
fait un var_export pour envoyer ton tableau
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 17h52   #3
Invité régulier
 
Romain
Inscription : septembre 2010
Messages : 15
Détails du profil
Informations personnelles :
Nom : Romain

Informations forums :
Inscription : septembre 2010
Messages : 15
Points : 5
Points : 5
Voila apres un var_export :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
array ( 0 => array ( 'titre' => 'element1', 
                     'cle' => 'parametre1',
                     'valeur' => 'valeur-parametre1', 
      ), 1 => array ( 'titre' => 'element1',
                    'cle' => 'parametre2',
                    'valeur' => 'valeur-parametre2', 
      ), 2 => array ( 'titre' => 'element2',
                    'cle' => 'parametre1',
                    'valeur' => 'valeur-parametre1', 
      ), 3 => array ( 'titre' => 'element2',
                    'cle' => 'parametre2', 
                    'valeur' => 'valeur-parametre2', 
      ),
 )
rom1dvp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/03/2011, 17h58   #4
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 465
Points : 8 465
comme ca :
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
26
$arr = array ( 0 => array ( 'titre' => 'element1', 
                     'cle' => 'parametre1',
                     'valeur' => 'valeur-parametre1', 
      ), 1 => array ( 'titre' => 'element1',
                    'cle' => 'parametre2',
                    'valeur' => 'valeur-parametre2', 
      ), 2 => array ( 'titre' => 'element2',
                    'cle' => 'parametre1',
                    'valeur' => 'valeur-parametre1', 
      ), 3 => array ( 'titre' => 'element2',
                    'cle' => 'parametre2', 
                    'valeur' => 'valeur-parametre2', 
      ),
 );
 
$out = array();
 
foreach($arr as $item)
{
    $tmp               = &$out[$item['titre']];
    $tmp['titre']      = $item['titre'];
    $tmp[$item['cle']] = $item['valeur'];
}
 
$out = array_values($out);
print_r($out);
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 09/03/2011, 18h01   #5
Invité régulier
 
Romain
Inscription : septembre 2010
Messages : 15
Détails du profil
Informations personnelles :
Nom : Romain

Informations forums :
Inscription : septembre 2010
Messages : 15
Points : 5
Points : 5
Merci beaucoup, c'est parfait !
rom1dvp 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 18h18.


 
 
 
 
Partenaires

Hébergement Web