-1

スペースで区切られた行に30個の値を持つtxtファイルがあります。

12.09.11   0:01   16.2   16.2   16.2    72   11.2   3.1    SE   0.19   3.6    SE   15.9   15.9   15.7   761.8  0.00   0.0   0.001   0.000   20.9    46    8.9   19.8   8.65 1.1902     13    1     56.5    1 
12.09.11   0:02   16.2   16.2   16.2    72   11.2   3.1    SE   0.19   4.0    SE   15.9   15.9   15.7   761.8  0.00   0.0   0.001   0.000   20.9    46    8.9   19.8   8.65 1.1903     23    1    100.0    1 
12.09.11   0:03   16.2   16.2   16.2    72   11.1   3.6    SE   0.21   4.9    SE   15.4   15.9   15.2   761.8  0.00   0.0   0.002   0.000   20.9    46    8.8   19.8   8.65 1.1905     23    1    100.0    1 

私はPHP配列があまり得意ではないので、これに固執しました:

<?PHP

$file_handle = fopen("data.txt", "rb");

while (!feof($file_handle) ) {

$textline = fgets($file_handle);


print $textline[0] . $textline[1]. $textline[2] . "<BR>";
}

fclose($file_handle);

?>

行の最初の 3 文字の出力が表示されます。この場合は次のようになります。

12.
12.
12.

しかし、配列内のデータ値を完全に分離する必要があるため、出力は次のようになります。

12.09.11 0:01 16.2
12.09.11 0:02 16.2
12.09.11 0:03 16.2

PS また、最初の 3 行の読み取りを避ける必要があります。常に 4 行目から読み取りを開始する必要があります。

適切にスクリプト化するためのヒントやアドバイスはありますか? ありがとう!

4

1 に答える 1

3

以下のコードは、テキスト ファイルを 1 行ずつ読み取ります。

<?php
    $file = "/tmp/file1.txt";
    $f = fopen($file, "r");
    while ( $line = fgets($f, 1000) ) {
        print $line;
    }
?>

したがって、同じように、次を使用できます。

<?php
    $file = "data.txt";
    $f = fopen($file, "r");
    $myArray = array();
    while ( $line = fgets($f) ) {
        $myArray[] = explode("    ", $line);
    }
    print_r($myArray);
?>
于 2012-09-17T17:40:16.107 に答える