3v4l.org

run code in 300+ PHP versions simultaneously
<?php function combs($arr) { $combs = array_fill(0, count($arr)+1, array()); $cntArr = count($arr); for ($i = 1; $i < $cntArr; ++$i) { for ($j = $cntArr-$i; $j > 0; --$j) { $combs[$j][] = implode(', ', array_slice($arr, $i, $j)); } } return $combs; } $arr = array('a', 'b', 'c', 'd', 'e', 'f'); print_r(combs($arr));

preferences:
34.59 ms | 402 KiB | 5 Q