[php] chaine -> tableau gros prob

Fermé
sebalab - 29 oct. 2007 à 21:33
nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 - 30 oct. 2007 à 01:12
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 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
29 oct. 2007 à 22:10
tu pourai donner ton code ?
car sans ca je peu pas te dire ce qui va pas
0
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 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
29 oct. 2007 à 23:35
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
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 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
29 oct. 2007 à 23:55
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
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 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
30 oct. 2007 à 01:12
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