Дан список объектов с номера позиции и id. Мы подаем на вход объект который мы не знаем присутствует или нет еще в списке. Нужно смотреть есть ли среди объектов в массиве тот который нужно обновить (у которого есть одинаковый id ) и если это так то обновить эту позицию и перебилдить массив меняя местами позиции объектов так что бы порядок остальных остался последовательным (как в drag & drop ). На выходе нужно иметь новый массив массивов с ключами id, position Код (Text): Product $objectProduct1 property $position; property $id; function (Product $product, int $positionRequest){ $arr = [ $objectProduct1, $objectProduct2, $objectProduct3, $objectProduct4, ]; } Код (Text): $arr = [ ['id'=> 123, 'position'=> 1], ['id'=> 2879, 'position'=> 2], ['id'=> 8908, 'position'=> 3], ];