3v4l.org

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

preferences:
42.01 ms | 402 KiB | 5 Q