Как записать 2 массива в csv-файл с помощью php


Я хочу записать 2 массива в csv-файл и отобразить его горизонтально.

Массив 1

Array
(
    [0] => Array
        (
            [0] => 501
            [1] => 8921
        )

    [1] => Array
        (
            [0] => 502
            [1] => 8446
        )
)

Массив 2

Array
(
    [0] => Array
        (
            [0] => 501
            [1] => 8900
        )

    [1] => Array
        (
            [0] => 502
            [1] => 8436
        )
)

Код для записи в csv-файл:

header("Content-type: text/csv; charset=utf-8; encoding=utf-8");
header("Content-Disposition: attachment; filename={$exportFileName}.csv");
header("Pragma: no-cache");
header("Expires: 0");

$file = fopen('php://output', 'w');
fputcsv($file, array('HID', 'WEEK1', 'HID', 'WEEK2')); 
foreach  ($fweek as $k=>$row) 
{
    fputcsv($file, $row);  // I want to include $sweek as well             
}

Но в настоящее время он отображает только первый массив.

Любой намек/предложение окажет большую помощь. Заранее спасибо.

Author: Ghost, 2014-10-08

1 answers

Если они всегда будут выстроены в линию, вы можете использовать ключ foreach для этого другого массива и объединить их. Вот так:

foreach($fweek as $k => $row) {
    $row = array_merge($row, $sweek[$k]);
    fputcsv($file, $row);
}
 2
Author: Ghost, 2014-10-08 11:41:42