che poi sono sempre più stupito dall'inutilità di una funzione come la array_rand, almeno per quanto riguarda la sua chiamata senza secondo argomento... eppure sarebbe bastato fargli restituire il contenuto e non l'indice in entrambi i casi...

Se nel caso di secondo argomento mi può essere utile un array di chiavi, nell'altro è inutile, tantè che, sfruttando l'esempio sopra, non c'è nessuna differenza nel fare:

Codice PHP:
<?php
$fn 
"messaggi.txt";
$righe=file($fn);
echo 
$righe[rand(0count($righe)-1)];
?>