Удалить элемент из ассоциативного массива и изменить порядок значений - PullRequest
0 голосов
/ 08 апреля 2020

например у меня есть этот массив;

Array ( [1] => 1 [2] => 2 [3] => 3 [4] => 4 [6] => 5 [7] => 6 [8] => 7 )

Значения в этом массиве представляют порядок. Я пытаюсь удалить один элемент, не создавая разрыва между порядком

моего кода прямо сейчас;

unset($ordres_array[3]);

result;

Array ( [1] => 1 [2] => 2 [4] => 4 [6] => 5 [7] => 6 [8] => 7 )

что мне нужно;

Array ( [1] => 1 [2] => 2 [4] => 3 [6] => 4 [7] => 5 [8] => 6 )

есть ли встроенные функции для этого? спасибо.

1 Ответ

0 голосов
/ 08 апреля 2020

Как комментарий @PatrickQ, все, что мне нужно было сделать, это

unset($ordres_array[3]);
$counter = 0;

foreach ($ordres_array as $key => $value) {
   ++$counter;
   $ordres_array[$key] = $counter;
}

, который выдает именно то, что мне нужно:

Array ( [1] => 1 [2] => 2 [4] => 3 [6] => 4 [7] => 5 [8] => 6 )

...