2014-09-25 41 views
0

我打算在PHP中创建一个参考生成器,我需要格式字符串。格式在PHP中的字符串

我想这代码,但不工作

function refAll($db, $contest, $ano){ 
$newkey = getlastid($db)+1; 
return sprintf("%s%d%1$05d",$contest, $ano, $newkey);} 

目标是格式化这样ABC201500000,其中ABC2015固定输出刺痛,00000始终处于$则newkey但与5位

在我的代码

$则newkey = 1

$大赛= ABC

$肛= 2015

和输出总是ABC201500000

+0

你的问题可能是'getlastid()',因为这是产生价值对于不能正常工作的'$ newKey'。 – 2014-09-25 16:48:35

+0

$ newkey的值是正确的,如果我强制一个值sprintf(“%s%d%1 $ 05d”,$ contest,$ ano,1234),给我同样的结果 – 2014-09-25 16:53:55

+0

'$ 05d'?不应该是'%05d'? $ 05对sprintf没有任何意义 – 2014-09-25 16:54:42

回答

2

试试这个:

sprintf("%s%d%05d",$contest, $ano, $newkey)