<?php
$names = ['Adamelsini', 'Mark', 'Gonz', 'Tim'];
$randomizer = function ($names) {
if (1 === count($names) % 2) {
$names[] = 'Pete';
}
$pairs = [];
$iteration = 0;
while (count($names) > 0) {
++$iteration; if ($iteration > 10) break;
$drawn = array_rand($names, 2);
$pair = [$names[$drawn[0]], $names[$drawn[1]]];
unset($names[$drawn[0]], $names[$drawn[1]]);
$pairs[] = $pair;
}
$result = "The PP randomizer has selected: \n";
foreach ($pairs as $p) {
$result .= " -> {$p[0]} and {$p[1]}\n";
}
return $result;
};
echo $randomizer($names);
- Output for 7.0.5 - 7.0.6, 7.0.12, 7.0.14, 7.1.1 - 7.1.2, 7.1.4, 7.1.6, 7.1.10 - 7.1.26, 7.1.28 - 7.1.29, 7.2.17, 7.2.20, 7.2.22, 7.3.2, 7.3.6, 7.3.11 - 7.3.12, 7.4.0
- The PP randomizer has selected:
-> Adamelsini and Gonz
-> Mark and Tim
- Output for 7.0.1, 7.0.18, 7.0.20, 7.1.30, 7.1.33, 7.3.0, 7.3.4, 7.3.7, 7.3.10
- The PP randomizer has selected:
-> Mark and Gonz
-> Adamelsini and Tim
- Output for 7.0.2, 7.0.8, 7.2.0, 7.2.19, 7.3.9
- The PP randomizer has selected:
-> Adamelsini and Tim
-> Mark and Gonz
- Output for 7.0.10, 7.0.17, 7.2.18, 7.2.23 - 7.2.24, 7.3.5, 7.3.8
- The PP randomizer has selected:
-> Mark and Tim
-> Adamelsini and Gonz
- Output for 7.0.3 - 7.0.4, 7.0.7, 7.0.11, 7.0.15 - 7.0.16, 7.1.0, 7.1.7, 7.1.27, 7.1.31 - 7.1.32, 7.2.6, 7.2.25, 7.3.1, 7.3.3
- The PP randomizer has selected:
-> Gonz and Tim
-> Adamelsini and Mark
- Output for 7.0.0, 7.0.9, 7.0.13, 7.0.19, 7.1.3, 7.1.5, 7.2.21
- The PP randomizer has selected:
-> Adamelsini and Mark
-> Gonz and Tim
preferences:
78.25 ms | 402 KiB | 68 Q