- array_slice: documentation ( source)
- print_r: documentation ( source)
- array_shift: documentation ( source)
- implode: documentation ( source)
<?php
function combs($letters) {
$result = array();
$lettersCount = count($letters);
for ($i = 0; $i <= $lettersCount; ++$i) {
for ($j = $lettersCount - $i; $j > 0; --$j) {
$result[$j][] = implode(', ', array_slice($letters, $i, $j));
}
}
array_shift($result);
return $result;
}
$arr = array('a', 'b', 'c', 'd', 'e', 'f');
print_r(combs($arr));