[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. 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
    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. 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. 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. 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. Bonjour,

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

              print_r ($tab);
              $ligne++;
              }
              0
              1. tu pourai donner ton code ?
                car sans ca je peu pas te dire ce qui va pas
                0