【发布时间】:2015-02-23 06:42:55
【问题描述】:
我不知道这个问题是否被问到。我没有得到他的建议。
我正在尝试将一些数据从数据库写入 csv 文件。
我正在使用fputcsv 函数。
我正在使用以下代码:
$fh = @fopen($fileName, 'w+');
$writeText['sku'] = $somevalue
$writeText['attribute_set'] = $somevalue
$writeText['type'] = $somevalue
$writeText['default_catalogue_link']= $somevalue
$writeText['status'] = $somevalue
@fputcsv($fh, $writeText);
@flush();
@fclose($fh);
某些值以零开头,例如 $writeText['sku'] 是 0987。
写入文件后。我在文件中收到987。
如何防止这种情况发生?我需要零值。
任何帮助都会很有用。 提前致谢。
【问题讨论】:
-
试试
$writeText['sku'] = (string)$somevalue; -
如果这不起作用并且您知道所有 skus 都是 4 位数字,您可以使用
str_pad()来保持前导零。或者我相信,如果您确保将值封装为 CSV 中的字符串(带引号),它们应该保留前导零。 -
(string)somevalue 不起作用。并非所有值都是 4 位数
-
呃,您可能需要确保 CSV 中的数字包含在引号中。
-
我也试过
$writeText['sku'] = " ".$somevalue;,它不起作用。我不知道如何用 qoutes 封装 :-(