Explode() du résultat d'un premier explode() [Résolu/Fermé]

Signaler
-
 Jordi Nateur -
Bonjour,

Voilà je me remet à PHP, et j'ai un petit problème avec la fonction explode.
Habitué au bash et à enchaîner les cut pour obtenir les valeurs souhaitées, ça n'est pas aussi simple avec php.
Le contenu du fichier ressembler à ça
User:groupe1,groupe2,groupe3
User2:Groupe3, groupe4
...


Un premier explode avec : comme séparateur me permet de récupérer dans un tableau, l'user dans un case, et le reste dans l'autre. ça ça marche.

Ensuite je veux récupérer chaque nom de groupe séparément, mais là impossible de mettre le résultat du premier explode comme chaine.
Mais j'obtiens l'erreur :PHP Parse error: syntax error, unexpected T_VARIABLE (Et il m'indique la ligne où se trouve le 2ème explode)

$user=explode(':', $line);
// $user[0] = nom d'user $user[1] = tout le reste de la ligne
$groups=explode(',' $user[1]);
// retourne l erreur syntax error, unexpected T_VARIABLE

Il doit s'attendre à recevoir autre chose qu'une cellule de tableau, mais pourquoi cela ne fonctionne-t-il pas ? Que faire pour que ça fonctionne ?

Merci.

3 réponses


Bonjour

tu as oublié la virgule entre ',' et $user[1] :
$groups=explode(',' , $user[1]);
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 58270 internautes nous ont dit merci ce mois-ci

Messages postés
764
Date d'inscription
mercredi 5 août 2009
Statut
Membre
Dernière intervention
7 août 2014
229
Salut,

as-tu vérifié si sur une certaine ligne de ton fichier tu n'avais pas que le user?
user1:

Sinon, vérifie aussi que tu n'as pas une ligne vide dans ton fichier.

Le mieux est de faire un echo des valeurs de ton premier explode pour voir ce qu'il retourne :
echo $user[0]." ".$user[1];
Bonjour

L'erreur détectée est un erreur de syntaxe : elles est donc signalée AVANT l'exécution du script. Donc peu importe ce qu'il y a ou pas dans $user : cet echo ne sera pas exécuté tant que l'erreur ne sera pas corrigée

Salut Le_joker_fou,

Merci pour ta suggestion.

Le fichier est juste, et il n'y a même pas une dernière ligne vide.
Sans le 2ème explode, si j'affiche ce que tu mets, ça me met bien la fin de la ligne (donc les groupes) dans $user[1]

Salut le père,

En effet X_X

Cette fois c'est bon...

Merci beaucoup