Php 如何从给定的球员中打造出许多独特的团队
我正在努力打造一支11人的球队来参加板球之类的比赛,但球队必须是独一无二的,我的意思是,同一支球队中没有球员会出现两次 例如:我有22名球员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 现在我需
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的深刻见解。在他的解决方案(以及任何解决方案)中,如果总玩家数不能被团队规模平均分割,那么最后一个团队的玩家数将少于其他团队。