微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐