ランダム表示で色々考えてみる

新しくプログラミング言語を覚えたいときに行うべき10の練習問題
8.「(名前)が、(場所)で、(アクション)した」がランダムに組み合わされて出てくるプログラム。

これのソース。

<?php

$lines = file("chara.txt");
	$n=rand(0,count($lines)-1);
		 print "{$lines[$n]}";
		 
$lines = file("basyo.txt");
	$n=rand(0,count($lines)-1);
		print "{$lines[$n]}";

$lines = file("action.txt");
	$n=rand(0,count($lines)-1);
		print "{$lines[$n]}した";
?>

この他にchara.txt、basyo.txt、action.txtを用意。それぞれ、単語が改行で入っている。
改善したいところ…
1.ランダム表示の部分が3カ所同じなんでユーザー定義関数にできないか?
2.オンラインで単語の削除や追加ができると面白いかも。
3.外部ファイルを使わないやり方でも書けるか?

以上3点もやってみますです。