Php 如何从给定的球员中打造出许多独特的团队

Php 如何从给定的球员中打造出许多独特的团队,php,Php,我正在努力打造一支11人的球队来参加板球之类的比赛,但球队必须是独一无二的,我的意思是,同一支球队中没有球员会出现两次 例如:我有22名球员 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22 or we have 22 players in two teams first team:-1,2,3,4,5,6,7,8,9,10,11 second team:-12,13,14,15,16,17,18,19,20,21,22 现在我需

我正在努力打造一支11人的球队来参加板球之类的比赛,但球队必须是独一无二的,我的意思是,同一支球队中没有球员会出现两次 例如:我有22名球员

1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22
or we have 22 players in two teams
first team:-1,2,3,4,5,6,7,8,9,10,11
second team:-12,13,14,15,16,17,18,19,20,21,22
现在我需要一个这样独特的球员团队 1,2,5,19,18,22,8,6,15,13,17

我尝试下面的代码

$candidates = array(1,2,3,4,5,6,7,8,9,10,11,12);

var_dump(getTeam($candidates));

function getTeam($candidates, $team_size = 3)
{
    shuffle($candidates);
    return array_chunk($candidates, $team_size);
}
但这将给我12个候选人的输出,这将使团队形成12个条件
有没有办法让22人组成一个团队?团队必须是简单的字符串,而不是任何变量转储或数组sting。看起来你走的是对的,你的函数从你传入的候选人中随机生成正确大小的团队。你可以利用这一点来组建一个团队。至于如何处理结果,它们只是,所以你可以用它们做任何你想做的事情——这会用逗号将它们连接起来,并将它们呼出

<?php
$candidates = array(1,2,3,4,5,6,7,8,9,10,11,12);

function getTeams($candidates, $team_size = 3)
{
    shuffle($candidates);
    return array_chunk($candidates, $team_size);
}

function getRandomTeam($candidates, $team_size = 3)
{
    $teams = getTeams($candidates, $team_size);
    return array_shift($teams);
}

$output = getTeams($candidates);

echo 'Teams:'.PHP_EOL;
foreach($output as $currTeam)
{
    echo implode(', ', $currTeam).PHP_EOL;
}

$output = getRandomTeam($candidates);

echo 'Random Team: ';
echo implode(', ', $currTeam).PHP_EOL;

22名球员中只有两支球队,对吗?总是这样吗。。。哦,我明白了,你希望团队规模可以调整。为什么不让所有的候选人都是球员的id,然后洗牌和分裂呢help@RobRuchte下面是关于hows CandyCrush的深刻见解。在他的解决方案(以及任何解决方案)中,如果总玩家数不能被团队规模平均分割,那么最后一个团队的玩家数将少于其他团队。