php – 从文本文件中获取随机行

我想在random.txt中调用随机单词,因为用户刷新页面但我只得到$word_array [0]而不是任何其他$word_array [1..3].

random.txt

hello
how
are
you

PHP代码

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)];

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...