[php] chaine -> tableau gros prob
                                    
                        sebalab                    
                                    -
                                     
nEm3sis Messages postés 722 Statut Membre -
        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
                
            
                
    
    
    
        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:         
- [php] chaine -> tableau gros prob
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Chaine tnt gratuite sur mobile - Guide
- Tableau croisé dynamique - Guide
7 réponses
                        
                    Bonjour, 
$ligne = 1;
$pfichier = fopen ("$nom/ag.TXT","r");
while ($ch = fgets ($pfichier, 64))
{
$tab = explode (',', $ch);
print_r ($tab);
$ligne++;
}
    
                $ligne = 1;
$pfichier = fopen ("$nom/ag.TXT","r");
while ($ch = fgets ($pfichier, 64))
{
$tab = explode (',', $ch);
print_r ($tab);
$ligne++;
}
                        
                    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 ...
    
                dsl jsuis pas un expert donc j'ai besoin de pouvoir tester les truc avant de trouver
si j'arrive a trouver ...
                        
                    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+
    
                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+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
                        
                    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
    
                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
                        
                    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+
    
                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+
                        
                    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
    
                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
