用PHP将文本行分隔成一个单独的数组

时间:2012-09-17 17:32:44

标签: php arrays variables text

我有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数组不是很好,所以我坚持这个:

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

?>

它在线获得了第一个字符的输出,在这种情况下它看起来像:

12.
12.
12.

但我需要在数组中完全分离数据值,因此输出应如下所示:

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

P.S。此外,我需要避免前三行阅读,它总是从第四行开始阅读。

如何正确编写脚本的任何提示或建议?感谢名单!

1 个答案:

答案 0 :(得分: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);
?>