Explode() du résultat d'un premier explode()
Résolu
Jordi Nateur
-
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
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)
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.
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]); -
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];
-