如果值相同,则拆分数组值

时间:2014-07-19 12:08:25

标签: php arrays shuffle

我有一个拥有一组用户的PHP数组。每个用户都属于一个团队。该阵列将如下所示。

  

$ Array = ARRAY('User1','User2','User3','User4','User5');

我需要达到以下逻辑。

如果'User1'和'User2'属于同一个名为'Team1'的团队,而其他用户拥有独立的团队,那么该数组应按以下方式重新排序。

  

$ Array = ARRAY('User1','User3','User4','User5','User2');

如果'User1'和'User2'属于同一个团队,名为'Team1','User3'和'User4'属于同一个团队'Team2',那么数组应重新排序如下。

  

$ Array = ARRAY('User1','User3','User5','User4','User2');

数字是用户是动态的,任何用户都可以拥有任何团队。目的是最大限度地避免后续地方的同一团队的用户。最好尽可能让用户远离同一个团队。

我尝试了很多方法,但没有任何结果。请帮助我达到这个逻辑。 如果有人需要更多信息,请告诉我。

由于 拉姆

1 个答案:

答案 0 :(得分:1)

目标并不是很明确。当User1 + 2和User3 + 4 + 5属于同一组时我应该怎么做(我假设:3,1,4,2,5)?当User2 + 3 + 4 + 5属于同一组时,任何例程都将失败。

目标“避免后续地方的同一团队的用户”的一种方法可能是:

为组创建阵列并收集其用户。使用具有最多用户的组的第一个用户填充新的用户数组,将用户从组数组中删除。然后将具有当前最多用户但除最后使用的组之外的组的第一个用户添加到用户阵列。等等。

相关问题