如何删除PHP中str_pad的引号

时间:2016-01-28 16:48:49

标签: php string quotes

我正在写文件,在一个字段中,我需要从数字中写出6个字符并用空格填写。 我用str_pad

str_pad($globalResult['Folio'], 6, ' ', STR_PAD_LEFT)

但在我的文件中,我看到它在我的字段中添加了引号。我举了例6,我回来了“6”。我想要但没有引号。

我试试

trim(str_pad($globalResult['Folio'], 6, ' ', STR_PAD_LEFT),'"')

str_pad($globalResult['Folio'], 6, ' ', STR_PAD_LEFT))

但我的文件中总是“6”。

我尝试$ globalResult ['Folio']只有我6岁。

感谢您的帮助

更新

这里有更多代码:

$df = fopen("facturation/PDF/Export/ECRITURE.WIN", 'w');

//BOUCLE D'AFFICHAGE DES FACTURES====
//On parcourt la liste des factures
$DB_GLOBAL->DbQuery($req)or die(mysql_error());
$NumRow=1;
while($globalResult = $DB_GLOBAL->DbNextRow())
{
    $inf = [$globalResult['Typ'],$globalResult['Dte'],str_pad($globalResult['Folio'], 6, ' ', STR_PAD_LEFT), str_pad($NumRow, 6, ' ', STR_PAD_LEFT)];
    fputcsv($df, $inf, '|');
    $NumRow++;
}
if (fclose($df) === true) {
echo 'Fichier cree';

} else {
      echo 'Erreur : contactez l\'administrateur.';
}

结果存档

  

VE | 05012015 |“1”|“1”   VE | 05012015 |“1”|“2”   VE | 05012015 |“1”|“3”   VE | 06012015 |“1”|“4”   VE | 06012015 |“1”|“5”   VE | 06012015 |“1”|“6”   VE | 06012015 |“1”|“7”   VE | 07012015 |“1”|“8”   VE | 07012015 |“1”|“9”   VE | 07012015 |“1”|“10”   VE | 08012015 |“1”|“11”   VE | 08012015 |“1”|“12”   VE | 08012015 |“1”|“13”   VE | 08012015 |“1”|“14”   VE | 08012015 |“1”|“15”   VE | 09012015 |“1”|“16”   VE | 09012015 |“1”|“17”   VE | 09012015 |“1”|“18”   VE | 09012015 |“1”|“19”   VE | 10012015 |“1”|“20”   VE | 10012015 |“1”|“21”

我尝试强制fputcsv的机箱参数,“\ n”,“\ 0”,null但不是我想要的。我需要在另一个应用程序上导出一些数据。我需要尊重格式问题

2 个答案:

答案 0 :(得分:1)

使用intval将字符串转换为整数:

$folio_int = intval(str_pad($globalResult['Folio'], 6, ' ', STR_PAD_LEFT));

fputcsv包含所有包含空格(空格)或封装字符(通常为")的字符串。
您可以将其保存为整数(并丢失空间),或使用fputs并自行构建csv文件。该问题与str_pad无关,只是因为fputcsv函数。

答案 1 :(得分:0)

我找到了 here

fputs($df, implode($inf, ',')."\n");

完美地工作