Petit probleme de boucle qui depasse

Résolu
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 24 mai 2005 à 09:39
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 24 mai 2005 à 11:17
je cherche a traiter une chaine de ce genre :
10;33147961313;15;33147961313;40;33147961313;
en fait il cherche une valeur qui n existe pas
voici l erreur :
Notice: Undefined offset: 7 in c:\program files\easyphp1-7\www\essai.php on line 262


$nbparam= ( substr_count ($comligne, ";" ));
echo "$nbparam //nombre param";echo "
";
$com = explode(";",$comligne);
for($cpt0; $cpt <$nbparam;$cpt++){
$temps= $com [$cpt]; //on recupere Tconnect
$cpt =$cpt+1;
$numero= $com [$cpt]; //on recupere numero appellé <--------- ligne 262
echo $cpt;echo "compteur boucle" ;echo "
";
echo $temps;echo "temps";echo "
";
echo $numero;echo "numero";echo "
";
echo $nbcar = strlen($numero);echo "nb char du numero";echo "
"; //nombre de caractere du numero

Si qqun peut m aider paske je vois pas comment me depatouiller

3 réponses

ehmarc Messages postés 393 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 29 septembre 2008
24 mai 2005 à 11:09
salut,

Je pense que c'est un trucs du style que le 7eme element de ton tableau n'existe pas donc il peut pas le lire c'est ca l'erreur!!

Dans ton script à un momment tu appelle un élément de ton tableau qui n'existe pas vu que tu fait $cpt= $cpt +1; alors que tu l'incremente deja dans ton for

tu as peut etre moyen d'incrementer par deux dans ton "for" (au lieu du $cpt++) et dans la premiere ligne du prog utiliser une variable autre que $cpt par exemple $cpt2 =$cpt-1;

En outre tu ferme pas ton for mais tas du oublier de copier une ligne.....

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller"
3
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
24 mai 2005 à 11:16
Hello,

oui, tu depasses la taille de ton tableau, tout simplement, ce qui est
logique vu que tu incrementes 2 par 2 ton tableau, en fait. ton
$nbparam est probablement depasse a la derniere boucle : il reste
inferieur dans ton for() et est depasse avec a seconde incrementation.
Comme je suppose que ton $nbparam est defini par la taille de ton
tableau...c#est logique.
3
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
24 mai 2005 à 11:17
bah j ai trouvé une facon alternative qui me permet de pas rater (en fait un if)
merci je vais pouvoir ameliorer mon script :O)
t inquietes j acceptes ta reponse ;O)
0
Rejoignez-nous