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

2022-08-31 00:32:22

我有一个文本文件,它可以在行数上有所不同,但每行上总是有24个选项卡式的条目。

其中4个条目是日期,但它们不是正常的YYYY-MM-DD格式示例:“2013-03-11T20:35:33 + 00:00”,所以我使用substr,这一切都很好。然而,目前我把文件中的所有数据传递到一个表,然后采取每个日期做子str和更新字段,然后将所有这些表传递给另一个表,但日期字段类型作为“DATE”作为第一轮,由于“2013-03-11T20:35:33 + 00:00”,他们不能。

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

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

我目前有

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

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

非常感谢。


答案 1

您正在使用数据库函数来循环访问数据库表 - 这很好。要将文件内容放入数组中,请使用 file()。例:

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

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

答案 2

所有的东西都可以通过和/或我敢肯定变得更容易:substr()strtotime()date()

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