Bonsoir
J'ai un fichier json que je charge avec php, ce fichier contient un tableau d'objets. Lorsque je veux supprimer un élément du tableau avec la fonction unset, le tableau devient alors un objet. Chose étrange, le problème n'apparaît pas lorsque je supprime le dernier élément du tableau..
Ce sera plus parlant avec un petit code :
Ceci m'affiche :
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
21
22
23
24
25
26 <?php $string = '{ "key" : "value", "table" : [ { "name" : "first thing", "file" : "first_thing.txt" }, { "name" : "second thing", "file" : "second_thing.txt" }, { "name" : "third thing", "file" : "third_thing.txt" } ] }'; $object = json_decode($string); unset($object->table[1]); echo json_encode($object); ?>
Alors que si je remplace la ligne de unset par
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 { "key" : "value", "table" : { "0" : { "name" : "first thing", "file" : "first_thing.txt" }, "2" : { "name" : "third thing", "file" : "third_thing.txt" } } }
J'obtient bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part unset($object->table[2]);
Cela peut-il s'expliquer mais aussi et surtout se solutionner ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 { "key" : "value", "table" : [ { "name" : "first thing", "file" : "first_thing.txt" }, { "name" : "second thing", "file" : "second_thing.txt" } ] }
Merci d'avance
Partager