3v4l.org

run code in 300+ PHP versions simultaneously
<?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);

preferences:
29.25 ms | 402 KiB | 5 Q