【问题标题】:Remove quotation marks from fputcsv in PHP?从 PHP 中的 fputcsv 中删除引号?
【发布时间】:2015-07-10 09:35:51
【问题描述】:

我在 fputcsv 中有数组,需要在有空格的单元格上不带引号的输出。我尝试使用 null char 删除,但这些只是额外的空格,它对我来说不可用的解决方案。请问有什么想法吗?

我有这个代码...

fputcsv($handle, array($zbozi['kod_zbozi'], $zbozi['nazev'] ),';');

我收到...

123456;"hdd adata"

但我想要...

123456;hdd adata

【问题讨论】:

  • $data = [ 1, 2.5, 'ABC', TRUE, NULL, '', 'HELLO WORLD' ]; $t = fopen('./test.csv', 'w'); fputcsv($t, $data); fclose($t); 给出的1,2.5,ABC,1,,,"HELLO WORLD" 在空字符串、空值、数字,甚至没有空格或引号的字符串周围都没有引号......那么到底是什么问题?
  • 您的意思是希望输出为1,2.5,ABC,1,,,HELLO WORLD,而HELLO WORLD 周围没有引号?
  • 在第一篇文章中添加了解释...
  • 那么您需要编写自己的 csv 编写器代码,因为 fputcsv() 将始终引用包含空格字符、换行符、引号等的字符串值......您可以用 @ 替换987654328@ 或.
  • 工作就像一个魅力!我刚刚编辑了 fputcsv() 函数并从 $str 中删除了 $enclosure ;) 完美! Tahnks 的想法!

标签: php fputcsv


【解决方案1】:

我从当前的 fputcsv 创建了自己的函数。

<?php function vujo_fputcsv($handle, $fields, $delimiter = ',') { if (!is_resource($handle)) {user_error('fputcsv() první parametr musí být data, ale tys mě dal' . gettype($handle) . '!', E_USER_WARNING);
return false;}
$str = '';
foreach ($fields as $cell) {$str .= $cell . $delimiter;}
fputs($handle, substr($str, 0, -1) . "\n");
return strlen($str);} ?>

【讨论】:

    猜你喜欢
    • 2019-12-25
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 2021-04-24
    • 1970-01-01
    相关资源
    最近更新 更多