Мне нужна оптимизированная или настраиваемая функция для обновления индексов объекта extends ArrayObject
Пример:
<?php
class MyCollection extends ArrayObject
{
// my logic for collection
}
$collection = new MyCollection([
'first',
'second',
'third',
]); // will output [0 => 'first', 1 => 'second', 2 => 'third']
$collection->offsetUnset(1); // will output [0 => 'first', 2 => 'third']
// some reindex function
$collection->updateIndexes(); // will output [0 => 'first', 1 => 'third']
использование exchangeArray
поменять внутренний массив с тем, который был пройден array_values
. Вы можете объединить это в метод на свой MyCollection
учебный класс:
class MyCollection extends ArrayObject
{
public function updateIndexes() {
$this->exchangeArray(array_values($this->getArrayCopy()));
}
}
Увидеть https://3v4l.org/S8I7Z
Других решений пока нет …