我有我以为我可以用PHP脚本解决一个问题 - 但显然,这是很多比我想象的更复杂。寻找随机团队PHP脚本
任务:我们有70人,并希望将他们分成17个团队。每个人都应该出现一次或两次,但很明显,在同一个团队中不会两次。
想法:与人员定义一个数组,然后随机地将他们排序到团队中。
$persons = array("name1","name2","name3", "... until name70"};
我最初的想法:我认为这将是容易的,但事实并非如此。我想,我需要的是一个新值分配给每个人员的,所以它看起来是这样的:
$persons = array("name1" => "team1", "name2" => "team 14", "name3" => "team 10", ".....");
然后print
这一点,然后再做到这一点。但是:第二轮必须将新数组与第一个数组进行比较,因为没有一对数值应该出现两次。所以,如果在第一轮中将“name2”与“team14”配对,那么该组合必须与第二轮不同。我没有找到解决方案来实现这一点。
第二个想法:我以为我可以通过使用while
循环做同样的事情,17次做到这一点。该while
循环应修改原来的$persons
阵列只包含5名并删除其余值。但我必须将新数组与现有数组进行比较,以便不会使用相同的名称两次以上。这给我留下了一个问题,那就是最后一支球队的人数会减少。
正如我在今年年初,和我最初的想法只是引发了更多的问题,我很高兴为每一个提示你,还为功能,我可以退房。我知道一些PHP,但真的没有那么多,所以有一个很好的机会,我没有注意到解决方案很容易...
在团队中出现两次的标准是什么?并且他们都可以在不同的团队中拥有差不多相同的尺寸?什么是默认的团队规模? – boroboris
这似乎是一个有趣的任务,但stackoverflow不是这个问题的网站。你应该在codegolf上提出这个问题:http://codegolf.stackexchange.com/这是另一个允许实验和代码写入的堆栈交换社区。 –
“shuffle($ persons)”; $ teams = array_chunk($ persons,17);'完成。 – Bobot