nepster-web
@nepster-web

Как собрать массив пользователь с сортировкой?

Собственно пишу модуль заявок для игры и вот стала такая задача:

К примеру есть игра рассчитанная на 4 человек. Каждый пользователь имеет свою позицию. Эта позиция будет соответствовать полю сортировки-1 по полям таблицы.

Тоесть:
1 (Пользователь с sort 0)
2 (Пользователь с sort 1)
3 (Пользователь с sort 2)
4 (Пользователь с sort 3)

Пользователь создал заявку и ждет соперников.

Собственно табличка из 4 позиций. Каждая позиция это пользователь. Табличка собирается из массива вида:

Array
(
    [0] => Array
        (
            [user_id] => 500
        )

    [1] => Array
        (
        )

    [2] => Array
        (
            [user_id] => 234
        )

    [3] => Array
        (
        )
)


К примеру есть ситуация когда пользователь хочет к примеру играть с кем-то на пару и может переместить друго-го игрока на другую позицию.

Например я создал заявку и пользователь Вася присоединился. Моя позиция 0, его позиция 1. Теперь я хочу переместить его на другую позицию и меня. ему sort на 2.

Когда я достаю массив пользователей из базы от выглядит так:

Array
(
    [0] => Array
        (
            [user_id] => 500
            [sort] => 0
        )

    [1] => Array
        (
            [user_id] => 234
            [sort] => 2
        )
)


И теперь из этого массива мне нужно сделать вот такой:

Array
(
    [0] => Array
        (
            [user_id] => 500
            [sort] => 0
        )
    [1] => Array
        (
        )

    [2] => Array
        (
            [user_id] => 234
            [sort] => 2
        )
    [3] => Array
        (
        )

)


Пустой массив означает ожидание игрока.

Вот сижу ломаю голову как можно реализовать такой цикл, который позволит все это дело правильно оформить. Пока получилось, но думаю что как-то через заднее место через цикл while(true)

Хотелось увидеть может кто-то сможет придумать как это можно реализовать как следует ?
  • Вопрос задан
  • 2604 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
При таком маленьком количестве элементов нет смысла сортировать массив. Проще создать новый и циклом по исходному массиву записать в него данные на нужные позиции.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы