0

我正在通过 PHP 脚本生成自动增量代码。顺序是这样的,L001L002 .... L039L040。下面是我编写的 PHP 代码。注释显示每个语句的输出。

<?php

require_once("db_handler.php");

$conn = iniCon();
$db = selectDB($conn);

$query = "SELECT LID FROM locations ORDER BY LID DESC LIMIT 1";
$result = mysql_query($query, $conn);
$row = mysql_fetch_array($result);
$last_id = $row['LID'];   //L040

$id_letter = substr($last_id, 0, 1);  //L
$id_num = substr($last_id, 1) + 1;   //040 + 1
$new_id = $id_letter . $id_num;

mysql_close($conn);

?>

$new_id在 HTML 文本框中显示。尽管到目前为止一切正常,但新生成的代码显示为L41,切断了前导零。

我怎样才能阻止这种情况发生?我需要在前面放那个零。

谢谢你。

4

3 回答 3

3

使用其中一个str_padsprintf函数:

$id_num = str_pad($id_num, 3, "0", STR_PAD_LEFT);

或者

$id_num = sprintf("%03d", $id_num);
于 2012-06-27T08:27:27.970 回答
2
$id_num = substr($last_id, 1) + 1;   //40 + 1

$id_num = str_pad($id_num, 3, "0", STR_PAD_LEFT); //return 041

$new_id = $id_letter . $id_num;   
于 2012-06-27T08:25:39.190 回答
0

看看 sprintf[1]。提示:%03d

[1] http://br2.php.net/sprintf

于 2012-06-27T08:26:21.913 回答