繁体   English   中英

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

[英]Split the array values if the values are same

我有一个具有用户集的PHP数组。 每个用户都属于一个团队。 该数组如下所示。

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

我需要得出以下逻辑。

如果“ User1”和“ User2”属于一个名为“ Team1”的团队,而其他User具有不同的唯一团队,则应按以下顺序对阵列​​进行重新排序。

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

如果“ User1”和“ User2”属于同一个名为“ Team1”的团队,而“ User3”和“ User4”属于同一个名为“ Team2”的团队,则应按以下顺序重新排列数组。

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

数字是用户动态的,任何用户都可以拥有任何团队。 目的是最大程度地避免用户在随后的位置来自同一团队。 最好让用户与同一团队的成员保持联系。

我尝试了很多方法,但是没有任何效果。 请帮助我达到这个逻辑。 请让我知道是否有人需要更多信息。

谢谢拉姆

目前还不清楚您的目标是什么。 如果User1 + 2和User3 + 4 + 5在同一组中(我假设:3,1、4、2、5),该怎么办? 当User2 + 3 + 4 + 5在同一组中时,任何例程都会失败。

目标“避免用户在随后的位置来自同一团队”的一种方法可能是:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM