当前位置: 首页 > 知识库问答 >
问题:

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

姬俊能
2023-03-14

我有一个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个答案

饶元章
2023-03-14

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

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

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

 类似资料:
  • 我有一个具有相同键值uid的多维数组。我想把它转换成子数组通过限制Foreachloop.you可以看到两个uid有值100和两个uid有值5465 我想得到这样的阵列。 我可以不使用foreach循环得到结果吗?

  • 您好帮助请把xml文件放在里面一些相同的元素,这些元素的内容不同,“name”属性。这些元素有不同的项目集,如何进行解咒?断续器: 我需要在Cdb和FmssSc中执行对象2的解组。我的尝试:通用元素-ServiceBroker.class 适配器.class Cdb.class FmssSc.class 演示: 错误:

  • 问题内容: 我有一个类似下面的查询,并列出了它的输出: o / p: 我想重新编写查询,以便获得如下输出: 有人可以帮忙吗? 问题答案: 在11g中使用Listagg()或在10g中使用WM_Concat():

  • 问题内容: 如何从表中选择所有内容,并且如果列的值相同,则仅选择具有最大值的行,因此,如果有这样的表: 它只会选择ID最高的“ bob”,因此结果将返回: 谢谢你。 问题答案: 您可以使用子查询来计算每个名称的最大ID,然后返回与该子查询返回的ID匹配的所有行: 请看这里的小提琴。

  • 基本上,我要问的是给定一个正方形2D阵列和一个有效的补丁大小(2D子阵列的大小),我将如何做到这一点。最终,我不需要以任何方式存储子阵列,我只需要找到每个子阵列的中值并将它们存储在一个一维阵列中。中值和存储到新阵列对我来说很简单,我只是不知道如何处理原始2D阵列并正确拆分它。我已经尝试了几次,但一直出现越界错误。我有一个4x4: 我需要像这样拆分它 < code>[1,2] [3,4] [2,3]