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

Résolu
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

  1. Bonjour

    tu as oublié la virgule entre ',' et $user[1] :
    $groups=explode(',' , $user[1]);
    1. 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];
      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
      2. 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]
    2. Salut le père,

      En effet X_X

      Cette fois c'est bon...

      Merci beaucoup