如何为每次插入mysql数据库后递增的用户生成唯一ID

时间:2016-06-27 15:31:37

标签: php

我想要像HD-2016-0001,HD-2016-0002 ...... 这是我到目前为止所尝试的

<?php
for($i=1;$i<=5;$i++) {
    $var = sprintf('%04d', $i);
    $doctorId="HD-2016-".$var;

}
?>

1 个答案:

答案 0 :(得分:2)

您可以使用str_pad

for($i=1;$i<=15;$i++) {
    $var = str_pad($i, 4, '0', STR_PAD_LEFT);
    $doctorId = "HD-2016-".$var;
    echo $doctorId . '<br />';
}

返回

HD-2016-0001
HD-2016-0002
HD-2016-0003
HD-2016-0004
HD-2016-0005
HD-2016-0006
HD-2016-0007
HD-2016-0008
HD-2016-0009
HD-2016-0010
HD-2016-0011
HD-2016-0012
HD-2016-0013
HD-2016-0014
HD-2016-0015

此外,我发现在使用sprintf()获取正确结果时我必须更改格式化程序:

for($i=1;$i<=15;$i++) {
    $var = sprintf("%'.04d", $i);
    $doctorId = "HD-2016-".$var;
    echo $doctorId . '<br />';
}
相关问题