Curiosité avec explode

weabow Messages postés 13 Date d'inscription samedi 15 mars 2003 Statut Membre Dernière intervention 29 août 2011 - 12 oct. 2009 à 11:05
weabow Messages postés 13 Date d'inscription samedi 15 mars 2003 Statut Membre Dernière intervention 29 août 2011 - 13 oct. 2009 à 11:11
Bonjour,

J'ai du code dans lequel j'utilise explode :

$fieldSepar=chr(9);
$IP = 0;
$HD = 1;

$curFile = fopen( $fileName, "r");
while (!feof($curFile)) {
$current_line = fgets($curFile);
if (!feof($curFile)) {
$dataArray = explode ( $fieldSepar, $current_line);

$IParray[] = (string)$dataArray[$IP];
$HD[] = (string)$dataArray[$HD];
...

Je pensais que cela fonctionnerait, mais je dois faire :

$IParray[] = (string)$dataArray[0];//ici placer 0 directement
$HD[] = (string)$dataArray[1];//ici placer 1 directement
...

Je ne comprends pas pourquoi. Une idée ?

Christian

5 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
12 oct. 2009 à 20:25
Salut,

Ben oui, ça devrait marcher...

Sinon, plutôt que t'embêter, utilise directement la fonction list() :
list($IParray[], $HD[]) = explode($fieldSepar, $current_line);
Pas besoin comme ça de passer par des variables intermédiaires totalement inutiles ;)

--
Neige

N'hésitez pas à lire la doc
0
weabow Messages postés 13 Date d'inscription samedi 15 mars 2003 Statut Membre Dernière intervention 29 août 2011
13 oct. 2009 à 10:26
Merci du feedback. En effet je débute en PHP.

Christian
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
13 oct. 2009 à 10:59
Salut,

Le problème est que tu redéfinie $HD là :
$HD[] = (string)$dataArray[$HD];


Donc à la seconde itération de la boucle $HD ne vaut plus 1 mais est un tableau.
D'ailleurs une erreur devrait être générée. J'imagine qu'elles ne sont pas activées. Ajoute donc ceci tout en haut de ton code :
ini_set('display_errors', 1);
error_reporting(-1);



Cordialement,


Kohntark -
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
13 oct. 2009 à 11:06
AHAH j'étais vraiment trop fatigué hier pour n'avoir pas vu cette erreur !

--
Neige

N'hésitez pas à lire la doc
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
weabow Messages postés 13 Date d'inscription samedi 15 mars 2003 Statut Membre Dernière intervention 29 août 2011
13 oct. 2009 à 11:11
Bien vu !

Christian
0
Rejoignez-nous