Tableau json transformé en objet
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 :
Code:
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);
?> |
Ceci m'affiche :
Code:
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"
}
}
} |
Alors que si je remplace la ligne de unset par
Code:
unset($object->table[2]);
J'obtient bien :
Code:
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"
}
]
} |
Cela peut-il s'expliquer mais aussi et surtout se solutionner ? :)
Merci d'avance ;)