Php et tableaux

Résolu/Fermé
velderama Messages postés 199 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 11 mai 2011 - 29 janv. 2009 à 15:56
velderama Messages postés 199 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 11 mai 2011 - 29 janv. 2009 à 16:47
Bonjour,
J'essaie de mettre une chaine dans un tableau pour apres ca soit plus facile a mettre dans ma base
Je lis un fichier csv constitué comme ceci :

nom1,mot de passe1
nom,2mot de passe2

...
$fichier = $_FILES['file']['tmp_name']; //recuperation du nom du fichier
$fic = fopen($fichier, 'rb');//ouverture en lecture
$l=0;
//lecture ligne a ligne
for ($ligne = fgetcsv($fic, 1024); !feof($fic); $ligne = fgetcsv($fic, 1024)) {
    $user[$l]= $ligne[0];
	$mdp[$l]= $ligne[1];
	$line = $user[$l].','.$mdp[$l];
	$string = array($line);
	$l++;
  }

J'aimerai ainsi en faisant juste $string[0]->$user qu'il me retourne nom1
Comment faire ?
Merci de votre aide

2 réponses

deglingo592003 Messages postés 77 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 31 janvier 2014 11
29 janv. 2009 à 16:20
le problème en faisant $string = array($line); a chaque tour de boucle cela recrée une array non ?

n'ayant pas beaucoup utiliser les array après une petite recherche

si tu declare ton array avant ta boucle for

$string = array();

et ensuite dans ta boucle tu peut mettre il me semble

$string[] = $line

au premier tour aucun index de créer donc en gros cela sera a $string[0]

et au tour d'après il placera le contenu de $line dans la "case" suivante

de cette manière dans ton array $string, tu aura toute les valeurs que tu veux ensuite tu y accède comme tu le souhaitais avec $string[0] puis $string[1] ect ...
0
velderama Messages postés 199 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 11 mai 2011 10
29 janv. 2009 à 16:26
Merci,
J'ai essayé mais ca ne retourne la ligne entiere !! je vais voir pour faire un coup de "split" sur la ligne ^^
0
velderama Messages postés 199 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 11 mai 2011 10
29 janv. 2009 à 16:47
ok donc recuperer par nom1 parexemple

list($user, $mdp) = split(',', $string[0]);
echo "$user";


@+
0