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

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

  1. Utilisateur anonyme
     
    Bonjour

    tu as oublié la virgule entre ',' et $user[1] :
    $groups=explode(',' , $user[1]);
    3
  2. le_joker_fou Messages postés 765 Date d'inscription   Statut Membre Dernière intervention   239
     
    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
    1. Utilisateur anonyme
       
      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
    2. Jordi Nateur
       
      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
  3. Jordi Nateur
     
    Salut le père,

    En effet X_X

    Cette fois c'est bon...

    Merci beaucoup
    0