см. http://docs.php.net/array_values:
array_values () возвращает все значения из входного массива и численно индексирует массив.
, например
$a = array(
0 => 'None',
3 => 'Value 1',
5 => 'Value 2'
);
$x = array_values($a);
print_r($x);
echo json_encode($x);
печать
Array
(
[0] => None
[1] => Value 1
[2] => Value 2
)
["None","Value 1","Value 2"]
edit: в массивах Javascript не должно быть пробелов. Вы должны были бы заполнить недостающие элементы, например, NULL.
$a = array(
0 => 'None',
3 => 'Value 1',
5 => 'Value 2'
);
$na = array_pad(array(), max(array_keys($a)), null);
$a += $na;
ksort($a);
echo json_encode($a);
отпечатков ["None",null,null,"Value 1",null,"Value 2"]