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:
J'aimerai changer le nom de cette clé en "NewObjects", j'ai alors créé cette fonction qui me paraissait logique par rapport à mon objectif:
Malheureusement j'obtiens le résultat suivant:
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);
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?
Partager