fputcsv将字符串更改为日期

时间:2017-11-10 09:47:35

标签: php csv

我有一个格式如下的数组。

array(5) {
  [0]=>
  array(2) {
    [0]=>
    string(7) "20 - 30"
    [1]=>
    string(6) "asdasd"
  }
  [1]=>
  array(2) {
    [0]=>
    string(7) "11 - 20"
    [1]=>
    string(4) "Test"
  }
  [2]=>
  array(2) {
    [0]=>
    string(7) "20 - 30"
    [1]=>
    string(9) "Test Date"
  }
  [3]=>
  array(2) {
    [0]=>
    string(7) "11 - 20"
    [1]=>
    string(11) "Hello World"
  }
  [4]=>
  array(2) {
    [0]=>
    string(6) "1 - 10"
    [1]=>
    string(2) "Hi"
  }
}

当我尝试将数组输出到csv文件时,值" 11 - 20"出现在11月20日," 1 - 10"在csv中显示为01-Oct而不是字符串。如何将其保存为字符串而不是日期?

$delimiter = ',';
$filename = 'csv_'.date('Y-m-d').'.csv';

$f = fopen('php://memory', 'w');
// headers
$fields = $data['headers'];
fputcsv($f, $fields, $delimiter);

foreach ($rows as $row) {
  fputcsv($f, $row, $delimiter);
}

fseek($f, 0);

header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="' . $filename . '";');

fpassthru($f);

0 个答案:

没有答案