Как говорит zneak, массивы Javascript (и, следовательно, JSON) не могут иметь неупорядоченные ключи массива.Таким образом, вы должны либо согласиться с тем, что вы будете работать с объектами JSON, а не с массивами, либо вызывать array_values
до json_encode
:
json_encode(array_values($data));
Однако похоже, что вы хотите отобразитьданные временных рядов с помощью flot.Как вы можете видеть на примере временного ряда flot , он должен быть массивом из двух элементов, например:
$.plot(
$('#placeholder'),
[[
[1281830400, 34910],
[1281916800, 45385],
[1282003200, 56928],
[1282089600, 53884],
[1282176000, 50262],
[1281657600, 45446],
[1281744000, 34998]
]],
{
label: 'Hits 2010-08-20',
xaxis: {mode: 'time'}
}
)
Учитывая ваш массив (назовем его $data
), мы можем получитьправильный JSON, например, так:
json_encode(
array_map(
function($key, $value) { return array($key, $value); },
array_keys($data),
array_values($data)
)
);