web-dev-qa-db-ja.com

ファイルの各行を独自の配列にループ読み取り

私はテキストファイルを持っています。行数はさまざまですが、各行には常に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を適用し、配列をテーブルに渡すことです。したがって、列のデータ型は最初からDATEにすることができます。

ファイルの各行をループする方法がわからないようです。私は最初の行を取得できます(それを削除する必要があるため)、特定の行を取得することは不可能または難しいことを読みましたが、それらを周期的にループするために必要です。

私は現在持っています

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

これはテーブルの各行でループしますが、これをファイル行に適用する方法や方法がわかりません。

どうもありがとう。

8
Vereonix

データベース関数を使用してデータベーステーブルをループしています-それで問題ありません。 ファイルの内容を配列に取得するには、file()を使用します。 例:

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

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

substr()のものはすべてstrtotime()および/またはdate()で簡単にできると思います。

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