<?php
function generate_comb($pos, &$res, $nr)
{
global $comb;
if ((strlen($res) + 1) / 2 == $nr or $nr == 0) {
print_r('{' . $res . '}');
echo "\n";
} else {
if ((strlen($res) + 1) / 2 < $nr) {
if ($res != '') {
$res = $res . ',';
}
for ($i = $pos + 1; $i < count($comb); $i++) {
$var = $res . $comb[$i];
generate_comb($i, $var, $nr);
}
}
}
}
$comb = array(1, 2, 3, 4, 5);
$pos = -1;
$res = '';
for ($i = 0; $i <= count($comb); $i++) {
generate_comb($pos, $res, $i);
}
preferences:
40.78 ms | 402 KiB | 5 Q