IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fonction combinaison de différents tableaux


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 6
    Points : 7
    Points
    7
    Par défaut Fonction combinaison de différents tableaux
    Bonjour, je suis à la recherche d'un fonction qui me permettrait d'obtenir un tableau contenant toutes combinaisons possibles présentent dans plusieurs tableau.

    Je vous présente ça d'une forme plus compréhensible :

    J'ai un tableau de tableaux qui ressemble à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    array(
    'Parametre 1' => array(0=>A,1=>B,2=>C)
    , 
    'Parametre 2' => array(0=>1, 1=>2, 2=>3)
    ,
    'Parametre 3' => array(0=>X, 1=>Y, 2=>Z)
    );
    et je souhaiterai générer un tableau de tableaux de cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    array (
    0=>array('Parametre 1'=>A, 'Parametre 2'=>1, 'Parametre 2'=>X)
    ,
    1=>array('Parametre 1'=>A, 'Parametre 2'=>1, 'Parametre 2'=>Y)
    ,
    2=>array('Parametre 1'=>A, 'Parametre 2'=>1, 'Parametre 2'=>Z)
    ,
    3=>array('Parametre 1'=>A, 'Parametre 2'=>2, 'Parametre 2'=>X)
    ,
    4=>array('Parametre 1'=>A, 'Parametre 2'=>2, 'Parametre 2'=>Y)
     
    ....
     
    26=>array('Parametre 1'=>C, 'Parametre 2'=>3, 'Parametre 2'=>Z)
    De plus, il y a dans cette exemple trois parametres mais ils sont générés dynamiquement et il pourra donc y en avoir plus. Je me doute qu'il doit y avoir besoin de récursivité mais je vois pas trop comment m'yprendre.

    Si vous avez des idées parce que moi je sèche un peu la dessus.

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Super, ça marche, cependant, j'ai toujours un petit problème car je souhaite récupérer les clés présentes dans le tableau pour les utiliser comme clés dans les différents tableaux générés.

    As-tu une solution pour ça ?

  4. #4
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    $tableau1['parm1'] = array(0=>'A',1=>'B',2=>'C');
    $tableau1['parm2'] = array(0=>'1', 1=>'2', 2=>'3');
    $tableau1['parm3'] = array(0=>'D', 1=>'E', 2=>'F',3=>'G');
    $tableau1['parm4'] = array(0=>'4', 1=>'5', 2=>'6',3=>'7');
    $tableau1['parm5'] = array(0=>'H', 1=>'I');
     
    $tableau2 = CombineAll($tableau1);
     
    echo "<hr><xmp>";print_r($tableau2);echo "</xmp>";
     
    function CombineAll($tableau)
    {
    	$tabtmp=null;
    	foreach($tableau as $tabkey => $tabval)
    	{
    		$tab=$tabval;
    		$name= $tabkey ;
    		$tabout=$tabtmp;
    		$keynum=0;
    		foreach($tab as $key => $val)
    		{
    			if(count($tabout)!=0)
    			{
    				foreach($tabout as $keyout => $valout)
    				{
    					foreach($valout as $key2 => $val2)
    					{
    						$tabtmp[$keynum][$key2]=$val2;
    					}
    					$tabtmp[$keynum][$name]=$val;
    					$keynum++;
    				}
    			}else{
    				$tabtmp[$keynum][$name]=$val;
    				$keynum++;
    			}
    		}	
    	}
    	return $tabtmp;
    }

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2011
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Merci Patrick, ta solution marche nickel.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fonction avec 2 parametres tableaux
    Par mquentin dans le forum Langage
    Réponses: 2
    Dernier message: 21/12/2006, 17h54
  2. Réponses: 8
    Dernier message: 01/12/2006, 09h05
  3. Fonctions VBA renvoyant des tableaux dans Excel
    Par phil_75 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/08/2006, 00h19
  4. permutations/combinaisons sur des tableaux dynamiques
    Par pEAk230 dans le forum Langage
    Réponses: 5
    Dernier message: 19/04/2006, 13h18
  5. Réponses: 9
    Dernier message: 02/03/2005, 22h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo