IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Explode avec tabulations


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Par défaut [Tableaux] Explode avec tabulations
    Bonsoir tout le monde,

    J'ai un fichier texte contenant des données séparées par des tabulations.
    Voila un exemple de ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    BACKUPPOOL    245760.0    89.3    80    95    DISK
    J'ai besoin de récupérer la 2eme et la 3eme données c'est à dire, pour cet exemple, 245760.0 et 89.3.
    Pour ce faire d'abord je fais un test de présence de ce type de ligne en faisant une recherche de "DISK".
    Si c'est OK je fais un explode de la ligne en virant les Tabulations.
    Ensuite j'affiche la Valeur 1 et la Valeur 2.

    Pourtant Le test de recherche est positif mais l'affichage n'affiche que du vide. Par contre la Valeur 0 contient la ligne complète.

    Voila le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        if (strpos($data,"DISK"))
        {
            $Volumetrie=explode('\t', $data);
            $VolServeur=trim($Volumetrie[1]);
            $TauxVolServeur=trim($Volumetrie[2]);
                echo "</td>\n\t\t<td>".number_format($VolServeur, 2, ',', ' ')."</td>\n\t\t<td>".number_format($TauxVolServeur, 1, ',', ' ')."</td>\n\t</tr>\n";
        }
    Si quelqu'un peut m'expliquer pourquoi je n'ai rien qui s'affiche.
    Merci de votre aide
    Caponord38
    A+

  2. #2
    jnore
    Invité(e)
    Par défaut
    Bonsoir,


    Dans ton cas tes tabulations n'en sont pas!
    Ce sont des espaces!

    Essaie ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (strpos($data,"DISK"))
        {
            $Volumetrie=explode('    ', $data);
            $VolServeur=trim($Volumetrie[1]);
            $TauxVolServeur=trim($Volumetrie[2]);
                echo "</td>\n\t\t<td>".number_format($VolServeur, 2, ',', ' ')."</td>\n\t\t<td>".number_format($TauxVolServeur, 1, ',', ' ')."</td>\n\t</tr>\n";
        }

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Par défaut
    Bonsoir tout le monde et jnore,
    Excellente remarque de ta part et c'est ce qui m'a mis la puce à l'oreille.
    A la place de \t j'ai réellement appuyé sur la touche Tabulation.

    Merci pour la réactivité.
    Caponord38
    A+
    Citation Envoyé par jnore Voir le message
    Bonsoir,


    Dans ton cas tes tabulations n'en sont pas!
    Ce sont des espaces!

    Essaie ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (strpos($data,"DISK"))
        {
            $Volumetrie=explode('    ', $data);
            $VolServeur=trim($Volumetrie[1]);
            $TauxVolServeur=trim($Volumetrie[2]);
                echo "</td>\n\t\t<td>".number_format($VolServeur, 2, ',', ' ')."</td>\n\t\t<td>".number_format($TauxVolServeur, 1, ',', ' ')."</td>\n\t</tr>\n";
        }

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    La syntaxe \t, et autres caractères échappés, n'est interprétée que si celle-ci est utilisée dans une chaîne délimitée par des doubles quotes et non des simples (où, dans ce dernier cas, elle garde sa signification littérale des deux caractères \ puis t).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] pb avec la fonction explode
    Par rollergirl dans le forum Langage
    Réponses: 6
    Dernier message: 28/11/2007, 08h56
  2. [Tableaux] récupérer un texte avec tabulations
    Par pclover dans le forum Langage
    Réponses: 3
    Dernier message: 09/02/2007, 14h07
  3. [Tableaux] problème avec while
    Par zimotep dans le forum Langage
    Réponses: 3
    Dernier message: 11/09/2005, 10h30
  4. [Tableaux] Problème avec Switch case
    Par philippef dans le forum Langage
    Réponses: 4
    Dernier message: 07/09/2005, 16h37
  5. Recupération de tableaux PHP avec PL/pgSQL
    Par moog dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 25/02/2005, 17h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo