如何删除 PHP 中 str_pad 的引号

How delete quotes from str_pad in PHP

我正在写文件,在一个字段中,我需要从数字中写出 6 个字符并用 space 完成。 然后我使用 str_pad

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

但是在我的文件中,我看到它在我的字段周围添加了引号。例如,我输入了 6,然后输入 return“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 但不是我想要的。我需要在另一个应用程序上导出一些数据。我需要尊重格式要求

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

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

fputcsv 包含所有包含白色space(一个space)或封装字符(通常是")的字符串。
您可以将其保存为整数(并丢失您的 space),或者使用 fputs 并自己构建 csv 文件。这个问题与 str_pad 无关,只是因为 fputcsv 函数。

我发现 here

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

完美工作