$array = array(‘rajan’, ‘kumar’, ‘maharjan’);
function permutation($arr, $temp_string, &$collect) {
if ($temp_string != “”)
$collect []= $temp_string;
for ($i=0; $i<sizeof($arr);$i++) {
$arrcopy = $arr;
$elem = array_splice($arrcopy, $i, 1);
if (sizeof($arrcopy) > 0) {
permutation($arrcopy, $temp_string .” ” . $elem[0], $collect);
} else {
$collect []= $temp_string. ” ” . $elem[0];
}
}
}
$collect = array();
permutation($array, “”, $collect);
for($i=0;$i<count($collect);$i++){
for($j=0;$j<=$i;$j++){
$spaceCountI = explode(” “,$collect[$i]);
$spaceCountJ = explode(” “,$collect[$j]);
if($spaceCountJ>=$spaceCountI){
$temp = $collect[$j];
$collect[$j] = $collect[$i];
$collect[$i] = $temp;
}
}
}
echo “<pre>”;
print_r(array_reverse($collect));
echo “</pre>”;