如何使用PHP从Tabdelimited文件创建结构化数组?

did*_*ido 8 php arrays tab-delimited

我在阅读制表符分隔文件时遇到问题.

我文件的结构是:

Field 1     Field 2     Field 3
Element11   Element12   Element13
Element21   Element22   Element23
Element31   Element32   Element33
Run Code Online (Sandbox Code Playgroud)

从这个文件我想创建一个具有这种结构的数组:

$csv = array(
            array(  'Field 1' => 'Element11',
                    'Field 2' => 'Element12',
                    'Field 3' => 'Element13',

            ),
            array(  'Field 1' => 'Element21',
                    'Field 2' => 'Element22',
                    'Field 3' => 'Element23',

            ),
            array(  'Field 1' => 'Element31',
                    'Field 2' => 'Element32',
                    'Field 3' => 'Element33',

            )    
        );
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Eug*_*eck 16

要将标题作为您需要的数组键

$result = array();
$fp = fopen('/path/to/file','r');
if (($headers = fgetcsv($fp, 0, "\t")) !== FALSE)
  if ($headers)
    while (($line = fgetcsv($fp, 0, "\t")) !== FALSE) 
      if ($line)
        if (sizeof($line)==sizeof($headers))
          $result[] = array_combine($headers,$line);
fclose($fp);
print_r($result);
Run Code Online (Sandbox Code Playgroud)