Por favor,
lee el manual, la función json_encode() es capaz de conservar las claves numéricas.
¿Por qué?
Porque estás convirtiendo un array, y es correcto que no tenga claves, ¿sabias?
Es decir:
Código Javascript
:
Ver original// esto es un array
var arr = [1, 2, 3];
// esto es un objecto
var obj = { 0: 1, 1: 2, 2: 3 };
¿Entiendes la diferencia?