Равномерное распределение пользователей по группам
У меня есть n кол-во пользователей, которых нужно распределить по n кол-ву групп. Например:
$users = [1,2,3,4,5,6,7,8,9,10];
$groups = [1 => 0, 2 => 1, 3 => 2]; //ключ = номер группы, значение = кол-во пользователей в группе на текущий момент
Например, на выходе должно получиться так, что в первую группу уйдет 4 юзера, во вторую 3, в третью 2
[1 => 4, 2 => 4, 3 => 4]
+1 еще должен рандомно попасть в одну из групп так как на выходе получится, что у каждой по 4 пользователя.
Вопрос в том, как мне учесть кол-во текущих пользователей в группах?
Просто через array_chunk не прокатит...