PHP - chaine + split
Résolu/Fermé
wapette21
Messages postés
66
Date d'inscription
lundi 21 juillet 2008
Statut
Membre
Dernière intervention
7 octobre 2010
-
14 oct. 2009 à 15:25
wapette21 Messages postés 66 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 7 octobre 2010 - 15 oct. 2009 à 10:44
wapette21 Messages postés 66 Date d'inscription lundi 21 juillet 2008 Statut Membre Dernière intervention 7 octobre 2010 - 15 oct. 2009 à 10:44
A voir également:
- PHP - chaine + split
- Split cam - Télécharger - Messagerie
- Chaine tnt gratuite sur mobile - Guide
- Nouvelle chaîne tnt gratuite 2024 - Accueil - TV & Vidéo
- Easy php - Télécharger - Divers Web & Internet
- Plus de chaine tv - Guide
11 réponses
biboo_
Messages postés
1249
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
14 mars 2012
106
14 oct. 2009 à 15:52
14 oct. 2009 à 15:52
Enlève les guillemets avec ton $i="1", même si le php est un langage très peu typé..
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
14 oct. 2009 à 15:58
14 oct. 2009 à 15:58
Hello,
j'ai envie de dire que c'est une bête faute de frappe, mais ça va peut-être plus loin :P
-> Je ne comprends pas à quoi sert ton while. Il manque une instruction pour modifier $i ? Dans ce cas, une boucle for ne serait-elle pas plus adaptée ?
-> Tu réutilises la variable $chaine. Ce n'est pas une erreur, mais une belle source de confusions. Surtout quand tu reprends ton code après quelques jours de pause ! On n'est vraiment pas à une variable près, autant bien clarifier les choses.
-> Que vois-je ici ? o_O
j'ai envie de dire que c'est une bête faute de frappe, mais ça va peut-être plus loin :P
-> Je ne comprends pas à quoi sert ton while. Il manque une instruction pour modifier $i ? Dans ce cas, une boucle for ne serait-elle pas plus adaptée ?
-> Tu réutilises la variable $chaine. Ce n'est pas une erreur, mais une belle source de confusions. Surtout quand tu reprends ton code après quelques jours de pause ! On n'est vraiment pas à une variable près, autant bien clarifier les choses.
-> Que vois-je ici ? o_O
$stat=$string["$i"];
$chaine = split(' ', $stats);
^
Bref, voilà ;)
wapette21
Messages postés
66
Date d'inscription
lundi 21 juillet 2008
Statut
Membre
Dernière intervention
7 octobre 2010
5
14 oct. 2009 à 16:16
14 oct. 2009 à 16:16
Effectivement je suis tromper en ré-écrivant mon code mais ma source est bonne ;-) (le nom de variable stat et le $i++ pour le while)
j'ai le message suivante en faite :
Notice: Undefined offset: 1 in line 42
Notice: Undefined offset: 2 in line 43
Notice: Undefined offset: 3 in line 44
ce qui correspond a mes :
$a=$chaine[1];
$b=$chaine[2];
$c=$chaine[3];
J'ai enlever les guillemets sans succès.
J'ai l'impression que le problème viens de la boucle, je réutilise la même variable $chaine car les action après son lié insertion en bdd, j'ai pas penser faire autrement pour être franc :-)
j'ai le message suivante en faite :
Notice: Undefined offset: 1 in line 42
Notice: Undefined offset: 2 in line 43
Notice: Undefined offset: 3 in line 44
ce qui correspond a mes :
$a=$chaine[1];
$b=$chaine[2];
$c=$chaine[3];
J'ai enlever les guillemets sans succès.
J'ai l'impression que le problème viens de la boucle, je réutilise la même variable $chaine car les action après son lié insertion en bdd, j'ai pas penser faire autrement pour être franc :-)
biboo_
Messages postés
1249
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
14 mars 2012
106
14 oct. 2009 à 16:18
14 oct. 2009 à 16:18
Mettre $i="1", puis mettre $i++..
Je comprends bien qu'il s'agit du php.. mais au secours pas ce genre de choses quoi!! :D
Je comprends bien qu'il s'agit du php.. mais au secours pas ce genre de choses quoi!! :D
wapette21
Messages postés
66
Date d'inscription
lundi 21 juillet 2008
Statut
Membre
Dernière intervention
7 octobre 2010
5
14 oct. 2009 à 16:22
14 oct. 2009 à 16:22
salut biboo_,
Je suis débutant et je fais plein d'erreur et surement des usine a gaz pour rien mais que me propose tu ?
a+
Je suis débutant et je fais plein d'erreur et surement des usine a gaz pour rien mais que me propose tu ?
a+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
biboo_
Messages postés
1249
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
14 mars 2012
106
14 oct. 2009 à 16:24
14 oct. 2009 à 16:24
Non c'est pas mal, c'est juste certaines pratiques à.. régulariser. :)
Genre si tu fais $i++, $i est un entier, donc déclare-le en entier et non en String. ;)
Genre si tu fais $i++, $i est un entier, donc déclare-le en entier et non en String. ;)
wapette21
Messages postés
66
Date d'inscription
lundi 21 juillet 2008
Statut
Membre
Dernière intervention
7 octobre 2010
5
14 oct. 2009 à 16:29
14 oct. 2009 à 16:29
Oki je corrige ce point, j'avais pas fait attention ;-), je viens de faire un test sans faire une boucle sur un seul cas et ça marche est-il déconseiller d'utiliser split dans une boucle ?
wapette21
Messages postés
66
Date d'inscription
lundi 21 juillet 2008
Statut
Membre
Dernière intervention
7 octobre 2010
5
14 oct. 2009 à 16:37
14 oct. 2009 à 16:37
Je viens de test avec une boucle for et toujours pas mieux :
$string = split(',', $chaine); $taille=sizeof($string); for($i=0;$i < $taille;$i++) { $stat=$string["$i"]; $chaine = split(' ', $stats); $a=$chaine[1]; $b=$chaine[2]; $c=$chaine[3]; }
biboo_
Messages postés
1249
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
14 mars 2012
106
14 oct. 2009 à 16:41
14 oct. 2009 à 16:41
Essaie ça :
Tu en fais quoi de tes variables $a $b $c après?
$string = split(',', $chaine); $taille=sizeof($string); $chaine = array(); for($i=0;$i < $taille;$i++) { $stat=$string[$i]; $chaine = split(' ', $stats); $a=$chaine[1]; $b=$chaine[2]; $c=$chaine[3]; }
Tu en fais quoi de tes variables $a $b $c après?
wapette21
Messages postés
66
Date d'inscription
lundi 21 juillet 2008
Statut
Membre
Dernière intervention
7 octobre 2010
5
14 oct. 2009 à 16:50
14 oct. 2009 à 16:50
Il y a du mieux au niveau boucle je vois apparaitre chaque traitement qui est fait par contre toujours la même erreur sur le deuxième split ma chaine est vide
quand je vais un echo de $chaine j'ai "Array".
quand je vais un echo de $chaine j'ai "Array".
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
14 oct. 2009 à 19:03
14 oct. 2009 à 19:03
Re !
(http://fr2.php.net/manual/fr/function.split.php)
Split appelle un moteur de regexp pour faire son traitement, tu n’en as pas besoin ici. Essaye plutôt explode.
Et pour le code, j’avais pas trop le temps tout à l’heure mais je reviens à la charge avec cette version :
(http://fr2.php.net/manual/fr/function.split.php)
Split appelle un moteur de regexp pour faire son traitement, tu n’en as pas besoin ici. Essaye plutôt explode.
Et pour le code, j’avais pas trop le temps tout à l’heure mais je reviens à la charge avec cette version :
$string = explode(',', $chaine); $taille = sizeof($string); for ($i=0; $i<$taille; $i++) { $stat = $string[$i]; $mots = explode(' ', $stat); // nouvelle variable $a = $mots[0]; // le 1er index d’un tableau est 0 ! $b = $mots[1]; $c = $mots[2]; /* * traitement de $a, $b et $c * … */ }
wapette21
Messages postés
66
Date d'inscription
lundi 21 juillet 2008
Statut
Membre
Dernière intervention
7 octobre 2010
5
15 oct. 2009 à 10:44
15 oct. 2009 à 10:44
Salut a vous,
Super le explode de Groarh, marche très bien, problème résolue.
Merci a vous tous.
a++
Super le explode de Groarh, marche très bien, problème résolue.
Merci a vous tous.
a++