【发布时间】:2015-02-10 02:17:27
【问题描述】:
我有 1 个包含 100 000 行的文件 txt。你能知道随机获得 1 条线的任何方法吗?非常感谢!
【问题讨论】:
-
为什么不对你的一些想法进行基准测试。
$line = file($filename)[rand(0,100000)];可能是你运行的一项测试 -
您将不得不循环查找行数。看到这个答案stackoverflow.com/a/20537130/1281385
-
DannyHearnah 的建议会更快,但会使用更多内存。 exussums 将几乎不使用内存,但会更慢。
-
取决于所需的每行随机性。一个简单的抽象是将
fseek到任意 byte 位置,读取足够大的windoe(8K?)然后找到最近的换行符,并在该换行符和下一个换行符之间提取。
标签: php performance line