Explode() du résultat d'un premier explode()

Résolu/Fermé
Jordi Nateur - 16 avril 2014 à 08:57
 Jordi Nateur - 16 avril 2014 à 15:35
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

Utilisateur anonyme
16 avril 2014 à 15:24
Bonjour

tu as oublié la virgule entre ',' et $user[1] :
$groups=explode(',' , $user[1]);
3
le_joker_fou Messages postés 764 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 7 août 2014 239
16 avril 2014 à 15:19
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];
0
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
0
Jordi Nateur
16 avril 2014 à 15:34
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]
0
Jordi Nateur
16 avril 2014 à 15:35
Salut le père,

En effet X_X

Cette fois c'est bon...

Merci beaucoup
0