puoi anche fare...

Codice PHP:
...
shuffle($chars); //mescola l'array 
$stringa implode(array_slice($chars0$n)); 
...una volta che mescoli l'array le posizioni sono "casuali", quindi basta prendere i primi $n e unirli in una stringa