2013-06-13 236 views
2

该文件包含3列(制表符分隔)和10行。如何从数组$行中获得[列] [行]?目前这个数组包含10行。将txt文件读入二维数组

$handle = @fopen('results.txt', "r"); 
if ($handle) { 
    while (!feof($handle)) { 
     $lines[] = fgets($handle, 4096); 
    } 
    fclose($handle); 
} 

for($i=0; $i<count($lines); $i++) 
{ 
    echo $lines[$i]; 
} 
+0

你可以使用explode(“\ t”)获取列。 – Yami

+1

看看使用PHP的内置fgetcsv()函数而不是fgets() –

+0

@Yami *'explode()' –

回答

2

对于您的特别章节目标下面的代码段将工作:

$array = array(
    array(), array(), array() 
); 
foreach(file('results.txt') as $line) { 
    // use trim to remove the end of line sequence 
    $record = explode("\t", trim($line)); 
    $array [0][]= $record[0]; 
    $array [1][]= $record[1]; 
    $array [2][]= $record[2]; 
} 

请注意,我使用的功能file()这是在这种情况下派上用场。它返回一个包含文件所有行的数组。