如何使用fputcsv在csv中的十进制值后面加一个空格?

时间:2017-09-22 07:27:03

标签: php csv fputcsv

enter image description here

这是我用来将数据写入csv文件的代码。 除十进制值外,一切正常!

$row[] = '14.31 ';
fputcsv($fp, $row, ',', '"');

我在.31 "14.31 "之后有一个空格,所以长度应为"6",现在我得到"5"

如何在单元格中包含此空间?

2 个答案:

答案 0 :(得分:1)

将值分配给变量并转换为字符串 例如:$ test = '14。 31'; $ row [] =(string)$ test;

或使用双引号  例如:$ test =“14.31”;

答案 1 :(得分:0)

对这个问题感兴趣,运行了4个案例来查看哪个案例能够提供所需的结果,CASE 4应该可以解决这个问题:

<?php
$fields[] = "case 1 - chr(32)";
$fields[] = "14.31 " . chr(32); // NO trailing space in .csv

$fields[] = "case 2 - chr(160)";
$fields[] = "14.31 " . chr(160); // 2 trailing spaces in .csv

$fields[] = "case 3 - rtrim + chr(32)";
$fields[] = rtrim("14.31 ", " ") . chr(32); // NO trailing space in .csv

$fields[] = "case 4 - rtrim + chr(160)";
$fields[] = rtrim("14.31 ", " ") . chr(160); // 1 trailing space in .csv

$fp = fopen('myfile.csv', 'w');

fputcsv($fp, $fields);

fclose($fp);
?>