Собственно пишу модуль заявок для игры и вот стала такая задача:
К примеру есть игра рассчитанная на 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)
Хотелось увидеть может кто-то сможет придумать как это можно реализовать как следует ?