【问题标题】:put array contents into csv column将数组内容放入 csv 列
【发布时间】:2017-12-13 13:14:14
【问题描述】:

我有一个日期数组:

$date = array();

还有一个名字数组:

$name = array();

我创建了一个二维数组,或者数组中的数组

$allinone = array($date,$names);

我用这个 php 将它们放入 csv:

$fp = fopen('download.csv', 'w');
foreach ($allinone as $key => $values) {
    fputcsv($fp, $values);
}
fclose($fp);

这样看起来像:

但我想实现将它们转置为列,如下所示:

如何使它工作?我尝试了 array_combine 和合并,但没有帮助我。

感谢您的宝贵时间!

【问题讨论】:

    标签: php arrays csv export-to-csv


    【解决方案1】:

    我想你可以只遍历一个数组,控制它的键并输出它的值以及第二个数组的 same key 的值:

    $fp = fopen('download.csv', 'w');
    foreach ($date as $key => $value) {
        fputcsv($fp, array($value, $name[$key]));
    }
    fclose($fp);
    

    如果源数组有不同的键,您可以使用array_values 将两个数组重新索引为数字键:

    $date = array_values($date);
    $name = array_values($name);
    
    $fp = fopen('download.csv', 'w');
    foreach ($date as $key => $value) {
        fputcsv($fp, array($value, $name[$key]));
    }
    fclose($fp);
    

    【讨论】:

    • 这就是我想要的,谢谢,数组有相同的键:)
    • 你原来的两个数组是怎么搭建的?你确定索引是一样的吗?你能建一个数组而不是三个吗?
    • 是的,例如:我有一个包含日、月和年的数组,并且我构建了一个日期数组,其中包含相同索引上的值
    猜你喜欢
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 2021-07-02
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 2016-08-01
    • 1970-01-01
    相关资源
    最近更新 更多