我正在写文件,在一个字段中,我需要从数字中写出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但不是我想要的。我需要在另一个应用程序上导出一些数据。我需要尊重格式问题
答案 0 :(得分:1)
使用intval将字符串转换为整数:
$folio_int = intval(str_pad($globalResult['Folio'], 6, ' ', STR_PAD_LEFT));
fputcsv
包含所有包含空格(空格)或封装字符(通常为"
)的字符串。
您可以将其保存为整数(并丢失空间),或使用fputs
并自行构建csv文件。该问题与str_pad
无关,只是因为fputcsv
函数。
答案 1 :(得分:0)