Ci sono stati consegnati due programmi per anagrammare parole in PHP...Io ve ne propongo uno...
//p1.php
$p='elena';
$n=strlen($p)-1;
for ($i=0; $i<=$n; $i++) $v[$i]=$i;
$f=1; for($i=1; $i<=$n+1; $i++) $f=$f*$i; echo"\n$f";
for ($h=0; $h<=$f; $h++) {
echo "
"; printf("%03d", $h); echo"\n>\n";
for($i=0; $i<=$n; $i++) { $c=$v[$i]; echo"$p[$c]"; }
for($i=$n; $i>=1; $i--) {
for($j=$n; $j>=$i; $j--) {
if($v [$j] > $v [$i-1] ) {
$c=$v[$i-1]; $v[$i-1] = $v[$j]; $v[$j] = $c;
for($k=0; $k<=floor ( ($n-$i-1) /2); $k++) {
$c=$v[$n-$k]; $v[$n-$k] = $v[$i+$k]; $v[$i+$k] = $c;
}
continue 3;
}
}
}
}
?>
strlen=lunghezza della stringa
printf=dare una forma particolare
%03d=mettere a destra un numero di zero per formare un numero di 3 cifre
floor=tronca gli eventuali decimali
continue 3=salta di 3 cicli