私はこれを前に言っておきますが、すべての組み合わせを得るつもりはありません。各アレイ内のアイテムを繰り返さずに複数のアレイを組み合わせて作成する
私は、各プレイヤーが元のチームの別のプレイヤーと新しいチームにいなくても、チームごとに6人のプレイヤーのすべての組み合わせを取得しようとしています。 例えば
$team1 = "John, Joey, Steve, Lee";
$team2 = "Tom, Alex, Billy";
$team3 = "Clint";
$team4 = "Alan, Jerry";
...
$team10 = "James, Corey, Paul, Benny";
ジョンとジョーイは、将来の組み合わせであることができません。トムとビリーの将来の組み合わせは決してできません。しかし、私は10チームのそれぞれから1人の選手のすべての組み合わせを取得しようとしています。 私は連想配列$チームのすべてのチームを持っています
私はこの機能を使用しようとしていますが、私は間違っていると思います。
function combinations($arrays, $i = 0) {
if (!isset($arrays[$i])) {
return array();
}
if ($i == count($arrays) - 1) {
return $arrays[$i];
}
// get combinations from subsequent arrays
$tmp = combinations($arrays, $i + 1);
$result = array();
// concat each array from tmp with each element from $arrays[$i]
foreach ($arrays[$i] as $v) {
foreach ($tmp as $t) {
$result[] = is_array($t) ?
array_merge(array($v), $t) :
array($v, $t);
}
}
return $result;
}
print_r(
combinations(
array(
$team[1],
$team[2],
$team[3],
$team[4],
$team[5],
$team[6],
$team[7],
$team[8],
$team[9],
$team[10]
)
)
);
はそう$ team1、$のteam2、......私は全体の連想配列から任意の重複を排除してきたんcommmon – coder
のプレイヤーを持っています。各チームには異なるプレイヤーがいます。しかし、彼らの新しいチームでは、彼らは元のチームメイトとチームになることはできません。 – Kaff1n8t3d
重複した名前で何をしていますか?たとえば、「Chris」という名前の人が2人いる場合 – Chris