循环读取文件的每一行到它自己的数组

时间:2013-10-21 20:17:19

标签: php arrays file loops lines

我有一个文本文件,它可以在行数上有所不同,但每行总是有24个标签审核条目。

这些条目中的4个是日期,但它们不是正常的YYYY-MM-DD格式示例:“2013-03-11T20:35:33 + 00:00”所以我使用substr,这一切都很好。但是目前我将文件中的所有数据传递给表,然后每个日期执行substr和UPDATE字段,然后将所有这些表传递给另一个,但是日期字段类型为“DATE”,因为它们可以' t由于“2013-03-11T20:35:33 + 00:00”。

我得到的一点是,我想将每一行读入一个数组,将substr应用于始终处于相同位置的日期,然后将数组传递到表中,因此数据类型对于列,可以从get go开始DATE。

我似乎无法弄清楚如何为文件中的每一行循环。我可以得到第一行(因为我需要删除它),我已经读过获取特定行是不可能或很难但我只是需要它来循环它们周期性。

我目前有

while ($DateRow = mysql_fetch_array($DateQuery, MYSQL_ASSOC))

为表中的每一行循环,但我不知道如何或是否可以为文件行建立这一点。

非常感谢。

2 个答案:

答案 0 :(得分:19)

您正在使用数据库函数来遍历数据库表 - 这很好。 To get file contents into an array, use file().示例:

$filename = 'info.txt';
$contents = file($filename);

foreach($contents as $line) {
    echo $line . "\n";
}

答案 1 :(得分:2)

使用strtotime()和date()可以使所有substr()内容变得更容易我确定:

$lines = file('/path/to/file.txt');
foreach($lines as $row) {
    //whatever here
}