Petit probleme de boucle qui depasse [Résolu]

Signaler
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
-
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
-
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

Messages postés
393
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
29 septembre 2008

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"
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
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.
Messages postés
1423
Date d'inscription
mardi 14 décembre 2004
Statut
Membre
Dernière intervention
29 décembre 2012
4
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)