我想在random.txt中调用随机单词,因为用户刷新页面但我只得到$word_array [0]而不是任何其他$word_array [1..3].
random.txt
hello
how
are
you
myfile = fopen("random.txt", "r") or die("Unable to open file!");
$word_array = array(fgets($myfile));
$word = rand(0,4);
$lines[] = fgets($myfile);
echo $word_array[$word];
fclose ($myfile);
错误是什么?
更新:如果可以避免循环,则仅更正此代码.
解决方法:
$word_array = array(fgets($myfile));
意味着你在这里拥有的是:
Array (
[0] => First line
)
因此,如果您打开error reporting,您会收到通知:
Notice: Undefined offset
75%的时间.
但要做你想做的事,你可以使用file()
将你的文件放到一个与array_rand()
结合的数组中,例如
$lines = file("random.txt");
echo $lines[array_rand($lines)];