[php] chaine -> tableau gros prob

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
Configuration: Windows XP
Internet Explorer 7.0

7 réponses

  1. tu pourai donner ton code ?
    car sans ca je peu pas te dire ce qui va pas
    0
    1. Bonjour,

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

      print_r ($tab);
      $ligne++;
      }
      0
      1. 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
        1. 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
          1. 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
            1. 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
              1. 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