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 :

Manipulation de string et tableau à dimension fixe [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Mars 2012
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 52
    Par défaut Manipulation de string et tableau à dimension fixe
    Bonjour à tous,

    Dans le cadre d'une préparation pour un export vers une table SQL, je dois importer dans un tableau à dimension fixe (10 éléments) une chaine de caractères pré-formatée de la manière suivante:
    string1\string2\string3\string4\string5\string6\string7\string8\string9\string10
    Le problème est que la chaine n'est pas obligé de posséder 10 éléments. (par exemple string1\string2)

    Pour cela, je définis un tableau à dimension fixe de 10éléments:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mon_tableau= new SplFixedArray(10);
    Puis j'utilise la fonction explode pour remplir mon tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mon_tableau=explode ("\\", $ma_string)
    Le problème est que le fonction explode semble supprimer toutes les cellules de mon tableau qui sont "NULL".

    En fait pour être clair, pour la string: string1\string2\string3
    j'obtiens cela avec mon code actuel:
    mon_tableau: ( [0] => string1 [1] => string2 [2] => string3)
    Alors que je voudrais: ([0] => string1 [1] => string2 [2] => string3 [3] => [4] => [5] => [6] => [7] => [8] => [9] => )

    Je pense que la fonction explode n'est pas la bonne dans mon cas mais que faire pour obtenir le résultat souhaité....
    Merci pour votre aide!!

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Voici comment faire simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
     
    $data  = 'string1\string2';
    $fixed = explode('\\', $data) + array_fill(0, 9, null);
     
    ?>

  3. #3
    Membre averti
    Inscrit en
    Mars 2012
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Mars 2012
    Messages : 52
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Bonjour,

    Voici comment faire simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
     
    $data  = 'string1\string2';
    $fixed = explode('\\', $data) + array_fill(0, 9, null);
     
    ?>
    Bien joué!!!
    Ca fonctionne nickel!

    Merci!!!

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

Discussions similaires

  1. Tableau dynamique et manipulation de string
    Par cinou01 dans le forum C#
    Réponses: 5
    Dernier message: 24/10/2009, 11h02
  2. Convertir une string en tableau de caractères
    Par alainpeniche dans le forum C++
    Réponses: 4
    Dernier message: 06/01/2007, 20h00
  3. [MFC] Manipulation de string
    Par mulot49 dans le forum MFC
    Réponses: 2
    Dernier message: 24/08/2004, 16h43
  4. problème our passer des string dans tableau d'int
    Par Battosaiii dans le forum C++
    Réponses: 9
    Dernier message: 15/07/2004, 17h42
  5. [C#]dimension fixe footer et header datagrid
    Par Dos dans le forum ASP.NET
    Réponses: 2
    Dernier message: 24/01/2004, 17h45

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