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 :

Parcours d'un tableau récursif


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 20
    Par défaut Parcours d'un tableau récursif
    Salut tout le monde.

    Je suis en train d'essayer de parcourir un tableau de façon récursive pour qu'il me donne toutes les combinaisons possible que l'on peut avoir ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $tab[0][] = 'A';
    $tab[0][] = 'B';
     
    $tab[1][] = 'C';
    $tab[1][] = 'D';
     
    $tab[2][] = 'E';
    $tab[2][] = 'F';
    et J'aimerais obtenir :
    A C E
    A C F
    A D E
    A D F
    B C E
    B C F
    B D E
    B D F

    Sachant que mon tableau peut avoir entre 1 et 3 colonnes sans limite de ligne. Je vois comment le faire avec plusieurs for mais je pense que ce doit être plus rapide en récursif mais je ne trouve pas vraiment.

    Si quelqu'un à une idée pour me mettre sur la voie.

    Merci d'avance.

    JB

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 343
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 343
    Billets dans le blog
    17
    Par défaut
    Ce sera plus rapide avec des boucles.

  3. #3
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    salut,
    Voila un element en recursif.
    A l'avenir, je te conseil d'ecrire ton probleme sur un papier, et d'essayer de traduire ce que tu dois faire en pas à pas, et faire un 1er jet en pseudo code. Ca aide a eclairsir les idées sur ce qu'il faut passer en recursion.

    Question : a quoi vas-tu appliquer une telle fonction ?
    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
    <?php
    $tab[0][] = 'A';
    $tab[0][] = 'B';
     
    $tab[1][] = 'C';
    $tab[1][] = 'D';
     
    $tab[2][] = 'E';
    $tab[2][] = 'F';
     
    bla($tab, 0); //depart avec la 1ere case
     
    //fonction recursive bla : 
    //$tab = tableau à parcourir
    //$i = item courant dans le tableau
    //$string = chaine de caractère composée par les  items du tabelau deja parcourus
    function bla($tab, $i, $string) {
    	foreach ($tab[$i] as $value) {//pour chaque valeur du tableau
    		//il y reste une case au tableau ?
    		if (isset($tab[$i+1])) {//oui, recursion pour avancer d'une case
    			bla($tab, $i + 1, $string . $value);
    			}
    		else echo $string.$value."\n";//sinon affichage de la chaine constituée
    		}
    	}
    ?>

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 30
    Par défaut
    Je vois pas trop l'intérêt si il n'y a qu'un niveau de faire du récursif, autant faire une double boucle imbriquée avec verification du parent (ou pas).

    En plus avec du récursif il faut tjr faire gaffe a pas faire une boucle infini.

  5. #5
    Membre émérite
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Par défaut
    kaen25 : il y a autant de niveau de recursivité qu'il y a d'element dans le tableau 'principal', afin de réaliser toutes les cobinaisons possible !

Discussions similaires

  1. [MySQL] Parcours d'un tableau et suppression des entrées
    Par padoberg dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 18/07/2006, 13h41
  2. probleme de parcours d'un tableau
    Par rodriguez_du35 dans le forum Langage
    Réponses: 4
    Dernier message: 29/05/2006, 09h16
  3. parcours d un tableau de l interface graphique
    Par natasha84 dans le forum MFC
    Réponses: 7
    Dernier message: 26/05/2006, 23h29
  4. [Cookies] Stocker un tableau récursif dans un cookie
    Par Nizarazu dans le forum Langage
    Réponses: 8
    Dernier message: 25/05/2006, 20h56
  5. Parcour d un tableau dynamique
    Par harris_macken dans le forum Débuter
    Réponses: 12
    Dernier message: 24/05/2005, 22h23

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