$arr = array('1', '2', '3', '4', '5');
for($i = 1; $i <= count($arr); $i++){
loop($arr, '', $i);
}
function loop($arr, $prefix, $n){
if (count($arr) < $n || $n == 0) {
return;
} elseif($n == 1) {
foreach ($arr as $v) {
echo $prefix.$v.'<br>';
}
} else {
foreach ($arr as $v){
array_shift($arr);
if (count($arr) >= $n - 1) {
loop($arr, $prefix.$v, $n-1);
}
}
}
}