首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新排列文件中的行

问重新排列文件中的行
EN

Stack Overflow用户
提问于 2012-01-05 22:01:41
回答 5查看 75关注 0票数 0

我试图从一个文本文件中读取数据,并将其分配给数组。我如何一次只读3行,然后将第一行赋给数组$a,第二行赋给数组$b,第三行赋给数组$c?然后准确地再读3行,等等。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-01-05 22:06:58

代码语言:javascript
复制
$lines    = file('some_file.txt');
$numLines = count($lines);

for ($i = 0; $i < $numLines; $i += 3) {
    $a[] = $lines[$i];
    $b[] = $lines[$i + 1];
    $c[] = $lines[$i + 2];
}

请注意,您还需要执行一些越界索引错误检查。我把它作为行动的练习。

票数 2
EN

Stack Overflow用户

发布于 2012-01-05 22:06:28

您可以使用fseek或带有maxlen参数的file_get_contents。但是要准确地读3行,我实际上不知道,除非你知道这些行有多长。

函数file将所有行读入数组。

编辑二:可以逐个字节地读取文件(尽管从我的角度来看,这是一个坏主意),在遇到每个\n或PHP_EOL后停止,并使用计数器或其他工具来管理它的使用方式。

编辑一个:

我的想法是:你可以创建一个自定义的流包装器,然后用它来读取3行到3行的内容。这是一个伟大的文件工具,检查http://www.php.net/manual/en/class.streamwrapper.php,并通过上下文或变量或任何其他方式控制它。

我猜你仍然需要找到一个算法来解决这个问题。我还没试过,但如果你处理好了请告诉我们。

票数 1
EN

Stack Overflow用户

发布于 2012-01-05 22:07:28

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8743775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档