在php中使用key =>值创建CSV文件

时间:2013-10-23 18:15:34

标签: php arrays csv

我有一个数组进入一个看起来像这样的函数:

$array = array(
    'SomeKey' => array()
    'SomeOtherKey' => array()
);

我希望在excel中打开csv文件,如下所示:

SomeKey

---- rows of data -----

SomeOtherKey

---- Rows of Data ---

我写的函数只处理这个问题的数组:

$array = array(array(...));


public function createCvsObject($array, $name = 'report.csv'){       
    $this->headers($name);
    if (count($array) == 0) {
        return null;
    }

    $df = fopen("php://output", 'w');
    fputcsv($df, array_keys(reset($array)));

    foreach ($array as $row) {
        fputcsv($df, $row);
    }

    fclose($df);
}

我需要改变什么来获得我想要的预期输出?

2 个答案:

答案 0 :(得分:1)

可以尝试以下代码,如果它可以帮助您:

fputcsv($ df,'somekey');

foreach ($array['somekey'] as $row) {
    fputcsv($df, $row);
}

fputcsv($ df,'someOtherkey');

foreach ($array['someOtherkey'] as $row) {
    fputcsv($df, $row);
}

答案 1 :(得分:0)

从它的外观来看,你只是错过了你的关键行。否则,请编辑您的问题以提及您的代码有什么问题,您获得的输出,您期望的输出等等。

foreach ($array as $key => $row) {
    fwrite($df, $key);
    fputcsv($df, $row);
}