[RESOLU] Imbrication d'array

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Imbrication d'array

Re: Imbrication d'array

par Invité » 01 déc. 2012, 00:49

Merci beaucoup, c'est exactement ce qu'il me fallait ! :)

Re: Imbrication d'array

par xTG » 30 nov. 2012, 20:37

Petite astuce :
$content = file_get_contents('lien_vers_fichier'); // on récupère tout le contenu du fichier
$user = explode(PHP_EOL, $content); // on coupe sur le retour à la ligne
foreach($user as $key => $val){
  $tmp = explode(',', $val); // on coupe sur la virgule
  if( count($tmp) == 2 ) // on vérifie qu'on a bien coupé ce qu'on voulait - et non une ligne vide par exemple
    $user[$key] = array('name' => $tmp[0], 'mdp' => $tmp[1]); // on réécrase la valeur par le nouvel array
}
var_dump($user);
Ceci devrait te convenir. :)

Imbrication d'array

par Yunge » 30 nov. 2012, 20:11

Bonjour à tous !

Je suis actuellement en train de m'essayer à la gestion de données entre php et un fichier .txt, seulement je rencontre un problème.
Ce que j'essaye de faire, c'est un système d'authentification dont les données (noms d'utilisateur et mots de passes) sont stockées dans un fichier .txt
(Oui je suis conscient qu'utiliser une base de donnée serait beaucoup plus approprié, mais je fais ça précisément pour expérimenter les actions entre le php et les fichiers).

Mon fichier .txt est présenté de cette sorte :

Code : Tout sélectionner

utilisateur1,motdepasse1 utilisateur2,motdepasse2 utilisateur3,motdepasse3 utilisateur4,motdepasse4 utilisateur5,motdepasse5
Je souhaite donc récupérer individuellement les informations de chaque utilisateur.
Après avoir ouvert ce fichier, je récupère son contenu ligne par ligne dans un tableau grâce à ce code :
while(($c = fgets($file)) == true)
{  
    $content .= $c;
}
    
$user = explode(PHP_EOL, $content);
La variable $user me retourne donc un array avec chaque ligne du fichier .txt comme ceci :

Code : Tout sélectionner

Array ( [0] => utilisateur1,motdepasse1 [1] => utilisateur2,motdepasse2 [2] => utilisateur3,motdepasse3 [3] => utilisateur4,motdepasse4 [4] => utilisateur5,motdepasse5 )
Comme je l'ai déjà dis, j'aimerais pouvoir récupérer chaque donnée individuellement. Il faudrait donc que chaque entrée du tableau (à savoir chaque ligne du fichier) soit elles-mêmes divisées en deux entrées (le nom d'utilisateur, et le mot de passe) afin que je puisse récupérer ce que je veux avec ce genre de code : $user[0]['name']. Seulement voilà, je n'ai aucune idée de comment réaliser ce genre de chose ...

Merci d'avance pour votre aide :)
Bonne soirée !