3v4l.org

run code in 300+ PHP versions simultaneously
<?php function powerSet($in,$minLength = 1) { $count = count($in); $members = pow(2,$count); $return = array(); for ($i = 0; $i < $members; $i++) { $b = sprintf("%0".$count."b",$i); $out = array(); for ($j = 0; $j < $count; $j++) { if ($b{$j} == '1') $out[] = $in[$j]; } if (count($out) >= $minLength) { $return[] = $out; } } return $return; } $x = powerSet(array(1,2)); foreach($x as $r) { echo implode($r, ' ') . "\n"; }

preferences:
36.56 ms | 402 KiB | 5 Q