PHP : grouper un tableau en fonction de se qu'il contient
mariostar27
Messages postés
391
Date d'inscription
Statut
Membre
Dernière intervention
-
kangourouxxx Messages postés 71 Date d'inscription Statut Membre Dernière intervention -
kangourouxxx Messages postés 71 Date d'inscription Statut Membre Dernière intervention -
Bonjour ,
Je souhaite créer un script qui puisse me regrouper les données d'un tableau. Parce qu'a mon sens un exemple est toujours plus clair, le voici :
Je souhaite que mon tableau si dessous :
Deviennent ceci :
Ce qu'il faut savoir, c'est que la valeur 0 ou 1 dans le premier tableau indique le niveau de la dimension dans le tableau final. ici, 0 indique les diplômes et 1 indique les classes.
Également, il faut savoir qu'il peut y avoir plusieurs niveau (les tableaux si dessous ne sont que des exemples).
Bref, je galère depuis ce midi à trouver un script. Je pense qu'il faut utiliser les fonctions récursives.
Merci de votre aide.
Cordialement.
gwennael
Je souhaite créer un script qui puisse me regrouper les données d'un tableau. Parce qu'a mon sens un exemple est toujours plus clair, le voici :
Je souhaite que mon tableau si dessous :
array( 0 => array( 'Diplome 1' => array(1, 2, 3, 4, 5, 6), 'Diplome 2' => array(7) ), 1 => array( 'Classe 1' => array(1, 2, 3, 4), 'Classe 2' => array(5, 6), 'Classe 3' => array(7), ) )
Deviennent ceci :
array( 'Diplome 1' => array( 'Classe 1' => array(1, 2, 3, 4), 'Classe 2' => array(5, 6) ), 'Diplome 2' => array( 'Classe 3' => array(7) ), )
Ce qu'il faut savoir, c'est que la valeur 0 ou 1 dans le premier tableau indique le niveau de la dimension dans le tableau final. ici, 0 indique les diplômes et 1 indique les classes.
Également, il faut savoir qu'il peut y avoir plusieurs niveau (les tableaux si dessous ne sont que des exemples).
Bref, je galère depuis ce midi à trouver un script. Je pense qu'il faut utiliser les fonctions récursives.
Merci de votre aide.
Cordialement.
gwennael
A voir également:
- PHP : grouper un tableau en fonction de se qu'il contient
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
1 réponse
Bonjour,
je viens de te faire ça :
Voici la sortie :
je viens de te faire ça :
//code pour mariostar27 <?php $arrayBase = array( 0 => array( 'Diplome 1' => array(1, 2, 3, 4, 5, 6), 'Diplome 2' => array(7) ), 1 => array( 'Classe 1' => array(1, 2, 3, 4), 'Classe 2' => array(5, 6), 'Classe 3' => array(7), ) ); $diplomes = $arrayBase[0]; $classes = $arrayBase[1]; $compress = null; foreach($diplomes as $diplome=>$diArray){ //diArray bel calembour non ? foreach($classes as $classe=>$clArray){ foreach($clArray as $item){ if(in_array($item, $diArray)){ $compress[$diplome][$classe] = $clArray; break; } } } } var_dump($compress); ?>
Voici la sortie :
array (size=2)
'Diplome 1' =>
array (size=2)
'Classe 1' =>
array (size=4)
0 => int 1
1 => int 2
2 => int 3
3 => int 4
'Classe 2' =>
array (size=2)
0 => int 5
1 => int 6
'Diplome 2' =>
array (size=1)
'Classe 3' =>
array (size=1)
0 => int 7