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] Redimensionner un tableau de 1 à 2 dimensions avec la même clé


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 242
    Points : 94
    Points
    94
    Par défaut [Tableaux] Redimensionner un tableau de 1 à 2 dimensions avec la même clé
    Bonjour

    Je voudrais savoir si en dehors d'une bouble il existe un moyen pour rajouter une dimension a un tableau. Je m'explique, j'ai un tableau de la forme
    :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $array[0] =  value0; 
    $array[1] = value1;
    $array[2] = value2;
    ...
    et je voudrais que ce tableau devienne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $array[0]['tag3'] =  value0; 
    $array[1]['tag3'] = value1;
    $array[2]['tag3'] = value2;
    Merci d'avance de votre aide

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    pourquoi tu ne veux pas utiliser de boucle ? à partir du moment où tu veux modifier tous les éléments d'un tableau, tu as souvent besoin d'une boucle

  3. #3
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 242
    Points : 94
    Points
    94
    Par défaut
    parce que le tableau a de nombreuse ligne, que je n'ai que cela a faire et que je dois le faire plusieurs fois dans ma page

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par epeichette Voir le message
    parce que le tableau a de nombreuse ligne, que je n'ai que cela a faire et que je dois le faire plusieurs fois dans ma page
    je n'ai pas compris pourquoi cela empêche l'utilisation d'une boucle
    c'est pourtant le plus pratique pour ce que tu veux faire, essaye ces lignes par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($array as $cle => $valeur) {
        $array[$cle]['tag3'] = $valeur;
    }

  5. #5
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 242
    Points : 94
    Points
    94
    Par défaut
    Bonjour,

    oui c'est ce que j'ai fait, mais je me demandais s'il n'y avait pas plus rapide que de faire une boucle sur 3000 lignes répétés plusieurs fois dans la page...

    Par exemple, on peut utiliser array_values($array) pour diminuer la dimension d'un tableau plutôt que de faire une boucle et je me demandais s'il existait une fonction similaire pour rajoute une clé dans un tableau...
    voila je pense avoir mieux expliquer l'objet de ce post

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Essaies ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
      $array[0] = 'value0'; 
      $array[1] = 'value1';
      $array[2] = 'value2';
     
      echo '<pre>Avant<br>';
      print_r($array);
      echo '</pre><br>';
     
      function modifie(&$item, $key, $prefix) 
      {
          $item = array($prefix => $item);
      }
     
      array_walk ($array, 'modifie', 'tag3');  
     
      echo '<pre>Après<br>';
      print_r($array);
      echo '</pre><br>';
    ?>

  7. #7
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 242
    Points : 94
    Points
    94
    Par défaut
    Merci c'est effectivment ce genre de solution alternative que je voulais testé pour vor si je gagne du temps d'exécution

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/04/2015, 19h56
  2. Réponses: 3
    Dernier message: 02/08/2006, 18h10
  3. Réponses: 5
    Dernier message: 10/04/2006, 15h12
  4. [Tableaux] tri de tableau deux dimensions
    Par oursquetaire dans le forum Langage
    Réponses: 8
    Dernier message: 27/12/2005, 14h27
  5. [Tableaux] redimensionner un tableau
    Par falcon dans le forum Langage
    Réponses: 6
    Dernier message: 23/11/2005, 09h38

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