Изменение порядка ключей массива PHP
Мой массив выглядит так:
array(
0 => 'val',
2 => 'val',
3 => 'val',
5 => 'val',
7 => 'val'
);
Как я могу изменить порядок ключей, чтобы он выглядел так 0, 1, 2, 3, 4
?
48
Author: Emil Vikström, 2012-06-27
4 answers
Использовать значения массива:
$reindexed_array = array_values($old_array);
109
Author: Emil Vikström, 2012-06-27 11:08:32
array_splice($old_array, 0, 0);
Он не будет сортировать массив и не создаст второй массив
12
Author: alekveritov, 2012-10-14 01:10:05
С помощью sort($array);
Смотрите документацию PHP здесь.
Я бы рекомендовал sort
вместо array_values
, так как это не создаст второй массив. С помощью следующего кода у вас теперь есть два массива, занимающих пространство: $reindexed_array и $old_array. Ненужный.
$reindexed_array = array_values($old_array);
9
Author: Rawkode, 2012-06-27 11:13:27
array_splice($jam_array, 0, count($jam_array));
Для сортировки массива с отсутствующими промежуточными индексами с помощью count порядок более безопасен. Таким образом, 0
- это первый индекс, а count($jam_array)
или sizeof($jam_array)
возвращают десятичную позицию массива, а именно последний индекс.
0
Author: fvlgnn, 2017-09-21 12:32:21