[php] chaine -> tableau gros prob

sebalab -  
nEm3sis Messages postés 722 Statut Membre -
Bonjour,

j'ai un gros probleme,

j'ai une chaine di style:

$chaine = ("dossier1","dossier2","dossier3","dossier4"); il y en a bien plus en vrai

je voudrai recuperer chaque nom separement ( dans un tableau se sera plus pratique )

genre print $tab[1]; donne dossier2 sans les ""

j'avai pensé a un explode et comme parametre de sparation le ,mais ca me laisse les ""

comment faire ?

surtout que lorsque j'ai essayer cet explode arrivé à la 4eme ou 5 eme valeur du tableau , la valeur 6 c'est remis dans un tableau en 0

comme dans mon exemple ca donnerai en gros [0] => dossier1 [1] => dossier2 [2] => dossier3 mais ensuite [0] => dossier4 ca reprenai l'index 0 pour les valeurs suivantes etc...

Merci de m'aider dans ma quete je sai plus quoi faire et mon script doit etre pres dans 2 jours

encore merci d'avance
A voir également:

7 réponses

nEm3sis Messages postés 722 Statut Membre 113
 
tu pourai donner ton code ?
car sans ca je peu pas te dire ce qui va pas
0
sebalab
 
Bonjour,

$ligne = 1;
$pfichier = fopen ("$nom/ag.TXT","r");
while ($ch = fgets ($pfichier, 64))
{
$tab = explode (',', $ch);

print_r ($tab);
$ligne++;
}
0
nEm3sis Messages postés 722 Statut Membre 113
 
et le contenu du fichier ag.TXT

dsl jsuis pas un expert donc j'ai besoin de pouvoir tester les truc avant de trouver

si j'arrive a trouver ...
0
sebalab
 
désolé mais ca j'ai pas le droit de le devoilé c'est du comptenue d'entreprise privé

mais y doit bien exister une fonction pour faire ca !!!! seulement je la trouve pas !

j'ai peut etre trouver une soluce en enlevant les "" dans la chaine par un ereg_replace, le probleme etait que le separateur etait , je l'est remplacé par ** sinon ca m'aurai coupé toute mes phrase à chaque virgule.

donc je pense avoir trouvé la soluce ( partiel car ca ne resout pas tout , mais ca permet de contourné un peut le probleme.

merci de t'etre penché dessus , si jammais quelqu'un trouve la fonction, merci de la mettre ici quand meme :)
a+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nEm3sis Messages postés 722 Statut Membre 113
 
tu peu me montrer juste en changeant les mot pour avoir la structure



par exemple si dans ton fichier tu a

dossier1,mr dupond,0147823957
dossier2,mr allain...


tu me met
mot1,mot2,mot3
mot4,mot5


c'est juste pour voir la structure les mot je m'en tape
0
sebalab
 
ben c'est exactement le contenu de ma chaine:

mon fichier texte contient

"mot1","chiffre1","mot2","mot3","donnee1","donnee2", etc...... y en a 34 comme ca , ensuite ca passe a une autre ligne


ps : dans le script j'ai changer 64 en 1024

je lirai les prochaines reponses demain aujourd'hui je doit aller me coucher , rdv tot demain
a+
0
nEm3sis Messages postés 722 Statut Membre 113
 
a d'accord pour la chaine j'avai pas tilté :s


comme dans mon exemple ca donnerai en gros [0] => dossier1 [1] => dossier2 [2] => dossier3 mais ensuite [0] => dossier4 ca reprenai l'index 0 pour les valeurs suivantes etc...
mes test sont disponible ici :
http://to.kc.free.fr/Maud/ag.txt
http://to.kc.free.fr/Maud/test.php

je contenu du php est :
<?php
$ligne = 1;
$separateur=',';
$pfichier = fopen ("ag.txt","r");
while ($ch = fgets ($pfichier, 1024))
{
$tab[$ligne] = explode ($separateur, $ch);
for ($i=0; isset($tab[$ligne][$i]); $i++)
{
$tab[$ligne][$i]=str_replace('"', '', $tab[$ligne][$i]);;
}
echo '<pre>';
print_r ($tab[$ligne]);
echo '</pre>';
$ligne++;
}
echo $tab[1][1].'<br>';
echo $tab[5][2].'<br>';
echo $tab[1][3].'<br>';
echo $tab[5][4].'<br>';
echo $tab[4][4].'<br>';
?>

je ne sais pas si ca t'aideras
si non je veu bien essayer autre chose
mais je crain de ne pas trop comprendre ce que tu demande
0