这是我用来将数据写入csv文件的代码。 除十进制值外,一切正常!
$row[] = '14.31 ';
fputcsv($fp, $row, ',', '"');
我在.31 "14.31 "
之后有一个空格,所以长度应为"6"
,现在我得到"5"
。
如何在单元格中包含此空间?
答案 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);
?>