<?php
$str = \"apple pear banana orange\";
$str_splode = explode(\' \',$str);
$combos = showCombo(array(), $str_splode);
foreach($combos as $key=>$array){
echo $key.PHP_EOL;
displayArrayByKey($key, $array);
}
function displayArrayByKey($str, $arr){
foreach($arr as $key=>$array){
$string = $str. \" \" . $key;
echo $string . PHP_EOL;
if(count($array)> 0){
displayArrayByKey($string, $array);
}
}
}
function showCombo($str_arr, $arr){
$ret = array();
foreach($arr as $val){
if(!in_array($val, $str_arr)){
$temp = $str_arr;
$temp[] = $val;
$ret[$val] = showCombo($temp, $arr);
}
}
return $ret;
}
?>