如何删除 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");
完美工作
我正在写文件,在一个字段中,我需要从数字中写出 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");
完美工作