Оптимизировать переиндексацию ArrayObject

Мне нужна оптимизированная или настраиваемая функция для обновления индексов объекта 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']

0

Решение

использование exchangeArray поменять внутренний массив с тем, который был пройден array_values. Вы можете объединить это в метод на свой MyCollection учебный класс:

class MyCollection extends ArrayObject
{
public function updateIndexes() {
$this->exchangeArray(array_values($this->getArrayCopy()));
}
}

Увидеть https://3v4l.org/S8I7Z

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]