3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types=1); /** * @param array $elements * * @return Generator */ function gen2(array $elements): \Generator { for ($num = count($elements), $i = pow(2, $num) - 1; $i >= 1; $i -= 2) { $r = []; for ($j = 0; $j < $num; $j += 1) { if ($i & (1 << ($num - $j - 1))) { $r[] = $elements[$j]; } } yield $r; } } foreach (gen2(['O', 'U', 'W', 'P', 'template']) as $path) { echo implode(' / ', $path), "\n"; }

preferences:
28.85 ms | 405 KiB | 5 Q