繁体   English   中英

使用php在csv文件中连续添加2列

[英]Add 2 columns in a row in csv file using php

我正在尝试使用php在csv文件的每一行中有2列,但是我只得到一列,任何人都可以看到我在做什么错,任何帮助将不胜感激。

        $csvLinks = array();

        if ($this->request->isPost()) {
            $csvLinks = $this->request->data['csvLinks'];
        }

        $col = array();
        for($i=0; $i<count($csvLinks); $i+=2) {
            array_push($col, $csvLinks[$i]);
            array_push($col, $csvLinks[$i+1] .",");
        }

       foreach($col as $row) {
           fputcsv($fp, explode(',',$row));
       }

我得到的结果如下所示

在此处输入图片说明

如果您想在一行中包含多列,则每行必须有一个数组。 因此,您必须在一个数组(行)内有一个数组(列)。

像这样做:

$csvLinks = array();

        if ($this->request->isPost()) {
            $csvLinks = $this->request->data['csvLinks'];
        }

        $lines = array();
        for($i=0; $i<count($csvLinks); $i+=2) {
            // Make a columns array
            $col = array();
            // Push the values inside the columns array
            array_push($col, $csvLinks[$i]);
            array_push($col, $csvLinks[$i+1]);
            // push the columns array inside the $lines array
            array_push($lines, $col);
        }

       foreach($lines as $line) {
           fputcsv($fp, $line);
       }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM