Erreur algorithme

Bonjour,
je programme une application en php et ces boucles me pose grand probleme.
Impossible de trouver l'erreur.

erreur : Fatal error: Maximum execution time of 60 seconds exceeded in

code :

//suppression des doublons de champs dans le tableau et donc mise a jour du tab des valeur
for($i=0;$i<=sizeof($tab_chaine_champ)-1;$i++){
for($c=0;$c<=sizeof($tab_chaine_champ)-1;$c++){
if($i=!$c){
if($tab_chaine_champ[$i]==$tab_chaine_champ[$c]){
//alors on supprime le doublon des deux tableau
$tab_chaine_champ[$i]=array_shift($tab_chaine_champ);
$tab_chaine_valeur[$i]=array_shift($tab_chaine_valeur);
}
}
}
}

voila si vous avez une petite idée ou des conseils, cela m'aiderai fortement.. Merci
Configuration: Windows 7
Firefox 3.6

8 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    erreur : Fatal error: Maximum execution time of 60 seconds exceeded in

    ton script a mis plus de 60 secondes à s'executer... tu t'es pris le timeout dans la gueule
    t'as pourtant pas l'air d'etre dans uen boucle infini

    ils sont grands tes tableaux ? essayes d'abord avec de petits tableau...
    1. bonsoir,
      ce message dit que l'exécution s'arrête car le serveur pense que vous êtes dans une boucle infinie.
      si ce n'est pas le cas le temps d'exécution est trop long.

      si vous êtes sûr de vous,
      vous pouvez réinitialiser le temps au changement d'indice en ajoutant
      set_time_limit(nnn); //nnn à modifier

      1. non les tableau sont de petite tailles, qui peuvent varier selon les formulaires qui ont étés remplis.
        soit une taille de 2 a 20..
        1. Bonsoir,
          même si les tableaux sont de petites tailles, on est pas à l'abri d'une erreur de programmation entrant ainsi dans une boucle infinie.
          avant de dire non, vérifiez vos boucles ou alors considerez que lemessage affiché est faux.
          1. Contributeur
            tu es bien dans une boucle infini, et voici là ou ca bloque:
            if($i=!$c){

            en gros, tu lui dis $i prend la valeur de pas $c (donc 0 si différent de 1, et 1 si 0)...
            a mon avis, tu voulais faire:
            if($i!=$c){

            voila, c'est uen erreur de frappe qui t'a mené à une boucle infini (et pas de bol pour toi, cette erreur voulait dire quelque chose pour le compilo, donc t'as pas eu d'erreur avant le timeout ....)
            1. efface tout lol !!!! sa va t'aidé naaan jue plaisante
              regarde au niveau de ($i=0;$i<=sizeof($tab_chaine_champ)-1;$i++){ regarde bien ce tableau
              1. Contributeur
                si c'est résolu, merci de mettre l'article en résolu ...