Сегодня надо было сбросить ключи в массиве, т.к. при json_encode от массива с пропусками в индексах получался объект, а мне нужен именно чистый массив. Решение придумал очень быстро — сейчас опишу, как можно сбросить индексы в массиве на php.
К примеру у нас есть массив:
$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9] ;
Все просто. Далее в цикле удаляем из него некоторые элементы:
$count = count($arr)-1; for($i=0; $i<=$count; $i++){ if( in_array($i, [1, 3, 5]) ){ unset( $arr[$i] ); } }
Таким образом мы удалили элементы с ключами 1, 3, 5
. В итоге у нас в ключах оказались пробелы. При этом метод json_encode вернет нам вместо массива - объект:
{"0": 1, "2": 3, "4": 5 ...............}
Если же требуется именно массив - следует сбросить индексы - проще всего это сделать методом array_values.
$arr = array_values( $arr ) ; echo json_encode( $arr );
Вот так просто мы можем сбросить индексы в массиве на php. Удачи!