-1

我有 txt 文件,其中 30 个值以空格分隔。

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-array 不太好,所以我坚持这样做:

<?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

下面的代码逐行读取文本文件。

<?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 回答