代码之家  ›  专栏  ›  技术社区  ›  Daniel Santos

如何使用第三个composer供应商库将关联数组的PHP数组转换为CSV字符串?

  •  0
  • Daniel Santos  · 技术社区  · 7 年前

    我必须将php关联数组转换为CSV格式:

    [
        ["a"=>1, "b"=>2, "c"=>3],
        ["a"=>5, "b"=>6, "c"=>6],
        ["a"=>7, "b"=>8, "c"=>9, "d"=>10]
    ]
    

    必须输出如下字符串

    a;b;c;d
    1;2;3;
    4;5;6;
    7;8;9;10
    

    我已经用 foreach implodes . 但是CSV有一些特性,比如知道什么时候scape chars和什么时候引用单元格。

    我被利用了 https://www.papaparse.com/

    有能做这项工作的作曲家软件包吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   AbraCadaver    7 年前

    你可以用 fputcsv 要获得正确格式的CSV,请保存到内存,然后将其保存到变量:

    $fh = fopen('php://memory', 'r+');
    
    foreach($array as $row) {
        fputcsv($fh, $row); // add other args as needed
    }
    $csv = stream_get_contents($fh, -1, 0);
    
    //or
    
    rewind($fh);
    $csv = stream_get_contents($fh);
    

    你也可以使用 php://temp tmpfile .

    推荐文章