Мой массив выглядит так:
array( 0 => 'val', 2 => 'val', 3 => 'val', 5 => 'val', 7 => 'val' );
Как я могу изменить порядок клавиш, чтобы они шли как 0, 1, 2, 3, 4
?
Использовать array_values :
$reindexed_array = array_values($old_array);
array_splice($old_array, 0, 0);
Он не будет сортировать массив и не будет создавать второй массив
Используя sort($array);
См. Документацию по PHP здесь .
Я бы рекомендовал sort
по array_values
поскольку он не будет создавать второй массив. В следующем коде у вас теперь есть два массива, занимающих пространство: $ reindexed_array и $ old_array. Ненужные.
$reindexed_array = array_values($old_array);
array_splice($jam_array, 0, count($jam_array));
Для сортировки массива с отсутствующими промежуточными индексами с подсчетом порядок более безопасен. Таким образом, 0
– это первый индекс и count($jam_array)
или sizeof($jam_array)
возвращает десятичную позицию массива, а именно последний индекс.