Автоматическая индексация массивов в PHP при добавлении элементов работает следующим образом: если индекс или ключ не указаны, PHP выберет наименьший незанятый числовой индекс. 13 При этом если элемент добавляется без ключа, PHP автоматически использует предыдущее самое большое значение ключа типа integer, увеличенное на 1. 1 Если целочисленных индексов в массиве ещё нет, то ключом будет 0 (ноль). 3
После удаления элементов переиндексация массива не происходит. 1
Для переиндексации массива можно использовать функцию array_values(), которая возвращает индексированный массив, заново индексируя его числовыми индексами. 13
Также для удаления элемента из массива можно использовать функцию unset(), а затем функцию array_values(), которая автоматически индексирует массив числовым методом. 2