将数组导出到csv失败:给定字符串

时间:2012-07-20 13:48:12

标签: php arrays csv

  

可能重复:
  mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

当我尝试将数组导出到csv文件时,我无法解决问题。我已经使用了这个功能几个问题没有问题,但在这里我没有看到我的错误在哪里。

我设置了一个数组:

$mytags= array();

我通过循环填充它。当我通过print_r($mytags);打印内容时 它似乎没问题,这里有一些我输出的例子:

Array ( [0] => [1] => air-travel [2] => airports [3] => security-airport [4] => city-airport  ... )

之后我尝试通过fputcsv将结果导出到csv:

$fp = fopen('file.csv', 'w');
foreach ($mytags as $fields) {
    fputcsv($fp, $fields);
}

但是我收到了这个错误:

  

警告:fputcsv()期望参数2为数组,字符串为   第55行的C:\ wamp \ www \ tests \ capturetags.php

问题可能是只有一个字段吗? 或者,我尝试用$fields替换$mytags来编写csv,在这种情况下我得到一个4GB的文件,所以它不是 有人看到如何在csv文件中记录这个唯一字段吗?

1 个答案:

答案 0 :(得分:6)

错误很明显,$fields不是数组,而是字符串。你需要一个数组。

fputcsv($fp, $mytags);

没有foreach循环就可以完成这项工作。