Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
0';在使用php函数写入csv时,s被截断_Php_Csv - Fatal编程技术网

0';在使用php函数写入csv时,s被截断

0';在使用php函数写入csv时,s被截断,php,csv,Php,Csv,我尝试使用php函数将数据写入csv 但0在写入csv时被截断 $data = array ( 'aaa,bbb,ccc,dddd', '000123,456,789','"aaa","bbb"'); $fp = fopen('data.csv', 'w'); foreach($data as $line) { $val = explode(",",$line); fputcsv($fp, $val); } fclose($fp); 你可能会发现是Excel等吃掉了0个字符(你

我尝试使用php函数将数据写入csv

但0在写入csv时被截断

$data = array ( 'aaa,bbb,ccc,dddd', '000123,456,789','"aaa","bbb"');

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

foreach($data as $line)
{
  $val = explode(",",$line);
  fputcsv($fp, $val);
} 

fclose($fp);

你可能会发现是Excel等吃掉了0个字符(你可以通过在记事本中打开csv文件(或任何你最喜欢的文本编辑器)并查看它们是否在那里来测试这一点)

如果不是这样,请尝试使用以下行:

fputcsv($fp, (string) $val);

以防万一,该变量不知何故被转换为某个整数。

我认为Excel将其视为一个数字,并省略了0

您可以尝试这样做:

fputcsv ($fp, "='".$val."'");

查看它是否有效如果您试图在excel或office中打开csv,它将截断前导零。
当您在零之前用“\t”构造字符串以避免0截断时

我认为您的应用程序会删除它们,而不是您的代码。例如,Excel会尝试识别数据类型并以最适合的方式对其进行解析。将数字视为字符串可能会有所帮助:“'000123'、'456'、'789''我尝试了这个''000123'、'456'、'789”,但引号显示在excel单元格中…如果值包含引号字符,则容易出错。