"08/01/2013", "StartTi-6ren">
gpt4 book ai didi

php - 为什么 sprintf 给出星号而不是我的格式化字符串?

转载 作者:可可西里 更新时间:2023-10-31 23:31:48 24 4
gpt4 key购买 nike

这段代码:

    function atest(){
$test = array(
"StartDate" => "08/01/2013",
"StartTime" =>"08:00:00",
"DepartmentID" => "75275",
"# Contacts Offered" => "3",
"# Contacts Handled" => "4",
"Average Talk Time" => "491.250000",
"Average Delay" => "5.666667",
"Percent SLA" => "1.333333");

$formatted = sprintf("%s %s TCSDATA %d %d %d %01.2f 0 %01.2f %01.2f 0\r\n",
$test["StartDate"],
$test["StartTime"],
$test['DepartmentID'],
$test['# Contacts Offered'],
$test['# Contacts Handled'],
$test['Average Talk Time'],
$test['Average Delay'],
$test['Percent SLA']
);

echo('<pre>');
echo( var_dump($test) );
echo('</pre>');

echo $formatted;
}

打印这个:

08/01/2013 08:00:00 TCSDATA 75275 ************************

但是,如果我修改 sprintf 格式以删除最后一个 0:

"%s   %s TCSDATA %d %d %d %01.2f 0 %01.2f %01.2f \r\n"

我明白了:

08/01/2013 08:00:00 TCSDATA 75275 3 4 491.25 0 5.67 1.33

这到底是怎么回事?

最佳答案

这个问题实际上是因为数字序列与 Luhn 算法相匹配,并且在我的 PCI 环境中被屏蔽了。我从测试中手动排除了该文件,现在一切正常。

关于php - 为什么 sprintf 给出星号而不是我的格式化字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18028502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com