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 :

Modifier une clé dans un tableau multidimensionnel


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    amateur
    Inscrit en
    Juillet 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Juillet 2017
    Messages : 14
    Points : 17
    Points
    17
    Par défaut Modifier une clé dans un tableau multidimensionnel
    Bonjour à tous,

    Je sollicite votre aide pour résoudre un problème (qui me paraissait facile au 1er abord) que j'ai pour modifier une clé dans un tableau multidimensionnel.
    Après avoir récupéré une feuille Excel que j'ai transformé en tableau php, j'obtiens la structure suivante:
    Nom : Image2.png
Affichages : 135
Taille : 130,4 Ko

    J'aimerai changer le nom de cette clé en "NewObjects", j'ai alors créé cette fonction qui me paraissait logique par rapport à mon objectif:

    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
    function rename_associative_array_key(array $assiociativeArray, string $oldKey, string $newKey): array
    {
             $newAssociativeArray = array();
         foreach ($assiociativeArray as $key1 => $value1){
                     $newAssociativeArray[$key1] = $value1;
             foreach($value1 as $key2 => $value2){
                              if($value1[$key2] === $oldKey){
                                          $newAssociativeArray[$key2]=$newKey;
                  } else {
                                       $newAssociativeArray[$key2]=$value2;
                  }
              }
         }
             return $newAssociativeArray;
    }
     
    $newArray = rename_associative_array_key($data1, "Objects", "NewObjects");
    var_dump($newArray);
    Malheureusement j'obtiens le résultat suivant:
    Nom : Image3.png
Affichages : 110
Taille : 188,8 Ko

    J'ai essayer d'autres façon comme récupérer les clés dans un tableau avec array_key() (pour en faire des valeurs que je pouvais changer plus facilement) et les valeurs dans un autre tableau avec array_values(), pour ensuite refaire un tableau avec array_combine() mais cette solution ne fonction pas non plus.

    Est-ce que vous auriez une piste à me suggérer?

  2. #2
    Membre à l'essai
    Homme Profil pro
    amateur
    Inscrit en
    Juillet 2017
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Juillet 2017
    Messages : 14
    Points : 17
    Points
    17
    Par défaut solution trouvée
    finalement j'ai trouvé la solution en 3 lignes après 5 heures de recherche hier je la poste pour ceux que ça intéresserait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    foreach ( $data1 as $k=>$v )
        {
            $data1[$k] ['NewObjects'] = $data1[$k] ['Objects'];
            unset($data1[$k]['fee_id']);
        }
     
    var_dump($data1);
    Résultat:
    Nom : result.png
Affichages : 110
Taille : 55,4 Ko

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

Discussions similaires

  1. suppression d'une ligne dans un tableau multidimensionnel
    Par ekinox62100 dans le forum Langage
    Réponses: 4
    Dernier message: 06/10/2010, 11h00
  2. Réponses: 3
    Dernier message: 06/12/2009, 16h02
  3. Réponses: 5
    Dernier message: 26/03/2008, 13h22
  4. pouvoir modifier une valeur dans un tableau
    Par adri_99 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/10/2007, 20h32
  5. Réponses: 3
    Dernier message: 22/03/2007, 14h09

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