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 recursive qui ne fonctionne pas


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de Hightuxdotnet
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Points : 48
    Points
    48
    Par défaut Fonction recursive qui ne fonctionne pas
    Bonjour à tous,

    Tout est dans le titre je travail avec PHP5 et voici ma 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
     
    function change_user($friends, $u1, $u2, $u3) {	
    	$i = -1;
    	foreach($friends as $key) {
    		$i++;
    	}
    	$user = mt_rand(0,$i);
    	foreach($friends as $key=>$value) {
    		if ($user == $key)  {
    			$user = $value;
    		}
    	}
    	if (($user != $u1) && ($user != $u2) && ($user != $u3) && ($user != '')) {
    		return $user;
    	} else {
    		change_user($friends, $u1, $u2, $u3);
    	}
    }
    Si la fonction execute le "else" ca bug et je n'ai rien en retour, es parceque quand je rappel la fonction les variables qui vont avec sont vides? Je ne comprend pas trop.

    Merci de votre aide.

    Nico

  2. #2
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Points : 2 399
    Points
    2 399
    Par défaut
    Premièrement, ne pourrais tu pas remplacer ta première boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $i = -1;
    foreach($friends as $key) {
    		$i++;
    	}
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $i = count($friends)-1;
    ??

    Ensuite, ne faudrait il pas plutôt mettre dans ton else :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return change_user($friends, $u1, $u2, $u3);

  3. #3
    Membre du Club Avatar de Hightuxdotnet
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Points : 48
    Points
    48
    Par défaut
    Merci de votre réponse, je teste ca tout de suite et je post le résultat mais pour le count, j'y ai penser mais j'avais peur qu'il me compte les clefs et les valeurs.

  4. #4
    Membre du Club Avatar de Hightuxdotnet
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 73
    Points : 48
    Points
    48
    Par défaut
    Parfait ca fonctionne à merveille merci pour l'optimisation et la résolution.

    Bonne continuation à toi.

    Nico

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

Discussions similaires

  1. Fonction javascript qui ne fonctionne pas sous IE
    Par jules_diedhiou dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/03/2009, 20h10
  2. fonction confirm() qui ne fonctionne pas sur IE7
    Par JackBeauregard dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/06/2008, 09h47
  3. Fonction mysql qui ne fonctionne pas pour un ancien postgreIste
    Par floreasy dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 15/01/2008, 18h49
  4. [SQL] Fonction SUM qui ne fonctionne pas !
    Par nigg4z dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 11/10/2007, 16h20
  5. Fonction While {} qui ne fonctionne pas
    Par zoom61 dans le forum Langage
    Réponses: 3
    Dernier message: 15/11/2006, 12h17

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