如何使用 fputcsv 在 csv 中的十进制值后放置 space?

how to put a space after decimal value in csv using fputcsv?

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

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

我在 .31 "14.31 " 之后有一个 space,所以长度应该是 "6",现在我得到 "5"

如何将此 space 包含在单元格中?

对这个问题很感兴趣,运行 4 个案例可以看到哪个提供了预期的结果,案例 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);
?>

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

或者使用双引号 例如:$test = "14.31" ;